C++笔记

文章详细阐述了C++中的继承概念,包括5-3节中提到的父子类构造函数的调用顺序,即先调用父类构造函数,再调用子类构造。5-4节讨论了菱形继承问题,指出使用虚继承可以避免重复继承的问题。6章则聚焦于多态性,解释了多态的目的以及实现多态的关键——虚函数,同时也提到了静态联编与动态联编(晚期联编,即运行时多态)的概念及其条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5-3 父子关系
1)先调父类构造,再调子类构造
2)

//子类调用父类的构造函数
Son::Son(int n, int v):Father(n), val(v)
{
	val = v;
	cout << "子类带参构造" << endl;
}

5-4 菱形继承
使用虚继承,让多个父类只会产生一份成员给子类继承

class A
{
	public:
		int n;
}
class A_1:: virtual public A		//virtual 虚继承,直接对父类虚继承,会产生一个虚指针,所以多出 4Bytes的内存
{
	public:
		int a1;
};
class A_2:: virtual public A
{
	public:
		int a2;
};

class AA: public A_1, public A_2
{
	public:
		int aa;
}
int main()
{
	AA obj_aa;
	obj_aa.aa;
	obj_aa.a1;
	obj_aa.a2;
	obj_aa.n;
	obj_aa.A_1::n;
}

第6章 多态
目的:多态、纯虚函数、实际开发实用多态
内容:联编、多态纯虚函数、final

6-0:联编
定义:计算机内程序彼此关联的过程
静态联编:早期联编,程序编译阶段,函数实现和函数调用
动态联编:晚期联编,在程序运行时 (多态
动态联编的条件
1:拥有虚函数成员的父类
2:有继承关系
3:父类类型的指针或引用 指向子类对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值