love_lla 2023-02-02 22:11 采纳率: 50%
浏览 38
已结题

c++关于继承与派生的这个代码如何理解

class A

{

public:

A(int i) { cout << i; }

~A() { }

};

class B : virtual public A

{

public:

B(int i, int j = 0) : A(j)

{

    cout << i;

}

~B() { }

};

class C : virtual public A

{

public:

C(int i, int j = 0) : A(j)

{

    cout << i;

}

~C() { }

};

class D : public C, public B

{

C obj2;

B obj1;

public:

D(int a, int b, int c, int d) : obj1(a), obj2(b), B(c), C(d), A(a)

{

    cout << b;

}

};

void main()

{

D d(1, 2, 3, 4);

}

  • 写回答

2条回答 默认 最新

  • 快撑死的鱼 2023-02-03 02:13
    关注

    回答不易,求求您采纳点赞哦

    C++中,继承是一种将基类(父类)的属性和方法复制到派生类(子类)的过程。通过继承,派生类可以在保留基类的属性和方法的同时,添加自己的属性和方法。

    在继承中,基类通常称为父类,派生类称为子类。子类继承父类的成员,并可以在此基础上添加自己的成员。这样,子类就可以共享父类的代码,从而提高代码的重用性。

    继承语法:

    class 派生类名 : 访问控制符 基类名
    {
    // 派生类的成员
    };
    
    

    访问控制符可以是 public、protected 或 private,它们决定了派生类继承基类成员的可见性。例如,如果访问控制符为 public,则继承的成员是可见的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 2月2日

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)