8_6.cpp

来自「c++书籍的源代码」· C++ 代码 · 共 73 行

CPP
73
字号
#include<iostream.h>
class A
{
 public:
   A(int x);
   virtual void display(void)=0;//纯虚函数
 protected:
   int a;
};
 A::A(int x)
{
   a=x;
}
class B:public A
{
 public:
   B(int x,int y);
   void display(void);
 protected:
   int a;
};
B::B(int x,int y):A(x)
{
  a=y;
}
void B::display(void)
{
  cout<<"B::display"<<" a="<<a<<endl; 
}
class C:public A
{
 public:
   C(int x,int y);
   void display(void);
 protected:
   int a;
};
C::C(int x,int y):A(x)
{
  a=y;
}
void C::display(void)
{
  cout<<"C::display"<<" a="<<a<<endl; 
}
class D:public C
{
 public:
   D(int x,int y,int z);
   void display(void);
 private:
   int a;
 
};
D::D(int x,int y,int z):C(x,y)
{
  a=z;
}
void D::display(void)
{
   cout<<"D::display"<<" a="<<a<<endl;
}
int main()
{
   B s1(0,1); 
   C s2(0,2);
   D s3(0,2,3);
   A *p[3]={&s1,&s2,&s3};
   for(int i=0;i<3;i++)
    p[i]->display(); 
   return(0);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?