使用VC6打开考生文件夹下的源程序文件modi3.cpp。此程序的运行结果为: In CDerive’s display().b=1 In CDerive2’s display().b=2 其中定义的类并不完整,按要求完成下列操作

admin2017-09-20  22

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp。此程序的运行结果为:
    In CDerive’s display().b=1
     In CDerive2’s display().b=2
    其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
    (1)定义函数display()为无值型纯虚函数。请在注释∥********1********之后添加适当的语句。
    (2)建立类CDerive的构造函数,请在注释∥********2********之后添加适当的语句。
    (3)完成类CDerive2成员函数diaplay0的定义。请在注释∥********3********之后添加适当的语句。
    (4)定义类Derivel的对象指针d1,类CDerive2的对象指针d2。其初始化值分别为1和2。请在注释∥********4********之后添加适当的语句。
    注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
using namespace std;
Class CBase
{
public:
    CBase(int i){b=i;)
∥********1********
protected:
    int b;
  };
  class CDerive:public CBase
  {
  public:
    ∥********2********
    void di splay()
    {
    cout<<“In    CDerive’s
display().“<<”b=”<    }
  };
  class CDerive2:public CBase
  {
  public:
    CDerive2(int i):CBaSe(i){}
∥********3********
};
void func(CBase*obj)
{
    obj一>di splay();
}
void main()
{
  ∥********4********
    func(d1);
    func(d2);
}

选项

答案(1)添加语句:vi rtual Void di splay()=0 ; (2)添加语句:CDerive(i nt i):CBa se(i){} (3)添加语句:void display(){cout<<‘’In CDerive2’S di spl ay().“<<” b= ”<
解析 程序中定义了类CBase、CDerive和CDerive2,CDerive和CDerive2公有派生于类CBase,CDerive和CDerive2均有成员函数display(),用于输出。函数func(CBase*obj)的参数为CBase对象指针,在函数体内通过该指针调用其display()函数。
转载请注明原文地址:https://kaotiyun.com/show/dUAp777K
0

最新回复(0)