C++编程规范之34:用组合代替继承

简介:

摘要:

    避免继承带来的重负:继承是C++中第二紧密的耦合关系,仅此于友元关系。紧密的耦合是一种不良现象,应该尽量避免。因此,应该用组合代替继承,除非知道后者确实对设计有好处。

与继承相比,组合有如下优点:

1.      在不影响调用代码的情况下具有更大的灵活性。

2.      更好的编译时间隔,更短的编译时间。

3.      奇异现象减少。

4.      更广的适用性。

5.      更健壮、更安全。

6.      复杂性和脆弱性降低。

相关文章
|
1天前
|
C++
C++程序中的继承与组合
C++程序中的继承与组合
8 1
|
6天前
|
存储 算法 测试技术
|
6天前
|
程序员 编译器 C++
|
6天前
|
存储 编译器 C++
C++中的继承
C++中的继承
12 0
|
6天前
|
安全 前端开发 Java
【C++】从零开始认识继承二)
在我们日常的编程中,继承的应用场景有很多。它可以帮助我们节省大量的时间和精力,避免重复造轮子的尴尬。同时,它也让我们的代码更加模块化,易于维护和扩展。可以说,继承技术是C++的灵魂。
14 1
|
6天前
|
安全 程序员 编译器
【C++】从零开始认识继承(一)
在我们日常的编程中,继承的应用场景有很多。它可以帮助我们节省大量的时间和精力,避免重复造轮子的尴尬。同时,它也让我们的代码更加模块化,易于维护和扩展。可以说,继承技术是C++的灵魂。
24 3
【C++】从零开始认识继承(一)
|
6天前
|
设计模式 算法 编译器
【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]
【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]
13 0
|
6天前
|
安全 程序员 编译器
【C++】继承(定义、菱形继承、虚拟继承)
【C++】继承(定义、菱形继承、虚拟继承)
15 1
|
6天前
|
安全 编译器 程序员
[C++基础]-继承
[C++基础]-继承
|
6天前
|
C++ 芯片
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】