您的位置:首页 > 其它

第十二周阅读程序(6):多重继承

2015-05-21 13:31 162 查看
代码:

#include <iostream>  
using namespace std;  
class B  
{  
public:  
    B(int x=0)  
    {  
        X=x;  
        cout<<"B("<<x<<")\n";  
    }  
    ~B()  
    {  
        cout<<"~B()\n";  
    }  
    void print()  
    {  
        cout <<X<< " ";  
    }  
private:  
    int X;  
};  
  
  
class D: public B  
{  
public:  
    D (int x, int y):B(x)  
    {  
        Y=y;  
        cout<<"D("<<x<<","<<y<<")\n";  
    }  
    ~D()  
    {  
        cout<<"~D()\n";  
    }  
    void print()     
    {  
        B::print();  
        cout <<Y<<endl;  
    }  
private:  
    int Y;  
};  
int  main()  
{  
    D d(11,22);  
    d.print();  
    return 0;  
}


运行结果:





学习心得:

类D是类B的派生类,B::print();表示调用基类B中的成员函数print();。d.print();访问的是类D的成员,基类中的同名成员在派生中被屏蔽了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: