C++程序设计课后习题及解答(第七章)


(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>


相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页