代碼:
#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的成員,基類中的同名成員在派生中被屏蔽了。