C++4.2

#include <iostream>

using namespace std;

class A

{

public:

int a;

A(int a)

{

this->a = a;

cout << "A有参构造" << endl;

}

};

class B:virtual public A

{

public:

int b;

B(int b):A(1)

{

this->b = b;

cout << "B有参构造" << endl;

}

};

class C:virtual public A

{

public:

int c;

C(int c): A(1)

{

this->c = c;

cout << "C有参构造" <<endl;

}

};

class D:public B,public C

{

public:

int d;

D(int d):B(4),C(5),A(1)

{

this->d = d;

cout << "D有参构造" << endl;

}

};

int main()

{

D d(5);

return 0;

}

class Father

{

int* p;

const string name;

public:

Father() :p(new int(0)),name("biu") {}

Father(int p,const string name):p(new int(p)),name(name){}

~Father() { delete p; }

Father(const Father& other):name(other.name)

{

this->p = new int;

}

Father& operator=(const Father& other)

{

*(this->p) = *(other.p);

return *this;

}

};

class Son :public Father

{

int* age;

public:

Son() :age(new int(19)) {}

Son(int age) :age(new int(age)) {}

~Son() { delete age; }

Son(const Son& other)

{

this->age = new int;

*(this->age) = *(other.age);

}

Son& operator=(const Son& other)

{

*(this->age) = *(other.age);

}

};


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_57107322/article/details/137255095

相关推荐
lsx2024064 分钟前
Kotlin 继承
开发语言
虫小宝11 分钟前
返利软件架构设计:多平台适配的抽象工厂模式实践
java·开发语言·抽象工厂模式
醒过来摸鱼14 分钟前
递归三种分类方法
算法
写代码的【黑咖啡】16 分钟前
深入理解 Python 中的函数
开发语言·python
炽烈小老头28 分钟前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
想学后端的前端工程师36 分钟前
【Java设计模式实战应用指南:23种设计模式详解】
java·开发语言·设计模式
呱呱巨基37 分钟前
Linux 进程控制
linux·c++·笔记·学习
jghhh0140 分钟前
POCS(凸集投影)算法解决部分k空间数据缺失导致吉布斯伪影
算法
小白勇闯网安圈44 分钟前
Java的集合
java·开发语言