公有继承方式public

来源:互联网 发布:手机apk软件开发 编辑:程序博客网 时间:2024/04/27 07:57
 #include<iostream.h>
//基类
class Base
{
private:
 int a;
protected:
 int b;
public:
 void setB(int x,int y)
 {
  a=x;
  b=y;
 }
 void dispB()
 {
  cout<<a<<","<<b<<endl;
 }
};
//派生类
class Derived:public Base
{
private:
 int p;
protected:
 int q;
public:
 void setD(int x,int y)
 {
   //a=x;                     不可直接访问基类中的private成员
  b=y;                   //基类中的protected成员在派生类中还是protected成员,可以访问
  setB(x,y);             //基类中的public成员在派生类中还是public成员,可以访问
  p=2*x;
  q=2*y;
 }
 void dispD()
 {
  dispB();               //基类中的public成员在派生类中还是public成员,可以访问
  cout<<p<<","<<q<<endl;
 }
};
void main()
{
   Derived dVar;            
 //dVar.a=10;                  错误,不可直接访问
 //dVar.b=20;                  错误,不可直接访问
   dVar.setB(1,2);           //可以访问
   dVar.dispB();             //可以访问
   dVar.setD(10,20);
   dVar.dispD();
}
原创粉丝点击