有关与类的指针使用

    技术2022-05-20  48

    /*

     *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;

    }

     


    最新回复(0)