(1).如果派生类B已经重载了基类A的一个成员函数fn1(),没有重载基类A的成员函数fn2(),如何在派生类的函数中调用基类的成员函数fn1(),fn2()?
答:重载了基类的成员函数在派生类中的调用方法A::fn1();未重载基类的成员函数在派生类中的调用方法fn2();
(2).定义一个object类,有数据成员weight及函数成员:构造函数、析构函数、SetWeight()、Getweight(),由其公有派生类box类,增加数据成员height和width及函数成员:构造函数、析构函数、GetWidth()、SetWidth()、GetHeight()、setHeight()。声明一个box对象,观察构造函数和析构函数的调用顺序,并测试类中的操作函数是否正确运行。
答:
<span style="font-size:14px;">#include<iostream>
using namespace std;
class Object
{
public:
voidSet_Weight(int W) {Weight=W;}
intGet_Weight( ) {return Weight;}
Object(){}
~Object(){}
private:
intWeight;
};
class Box:public Object
{
public:
voidSet_width(int w){width=w;}
intGet_width(){return width;}
voidSet_height(int h){height=h;}
intGet_height(){return height;}
Box(inth=0,int w=0){height=h;width=w;}
~Box(){}
private:
intheight,width;
};
int main()
{
Box mybox1;
Box mybox2;
mybox2.Set_height(10);
mybox2.Set_width(20);
cout<<mybox2.Get_height()<<endl;
cout<<mybox2.Get_width()<<endl;
cout<<mybox1.Get_height()<<endl;
cout<<mybox1.Get_width()<<endl;
return 0;
}</span>