/*
*Made by winlin 2011.2.28
*email:pcliugaangtao@163.com
*测试指针对于类对象、类的公共成员函数、公共成员变量使用方法
*/
#include <iostream>
using namespace std;
class Box{
public:
Box(int h=1,int w=2,int l=3):height(h),width(w),length(l){sum=height+length+width;} //使用伪构造函数以及数据默认值
int volume();
int sum;
private:
int height;
int width;
int length;
};
/*Box::Box(int h,int w,int l) //也可用这个方法
{
height=h;
width=w;
length=l;
}*/
int Box::volume()
{
return (height*width*length);
}
int main()
{
Box box; //使用默认参数构造对象
cout<<box.volume()<<endl;
Box *pbox=&box; // 指向对象的指针
cout<<pbox->volume()<<endl; //或 (*pbox).volume()
int (Box::*pvolume)(); //指向对象公共成员函数的指针,注意:函数参数要一致
pvolume=&Box::volume;
cout<<(box.*pvolume)()<<endl;
Box boxex(12,13,14); //不使用默认参数
cout<<boxex.volume()<<endl;
int *psum; //公共数据成员指针
psum=&boxex.sum;
cout<<*psum<<endl;
return 0;
}