1、组合(复合):A拥有B,即下面中,queue类中包含deque类的东西,叫做这两者复合。本例中,queue类的函数也是直接利用deque类中现有的函数进行完成。实际上,我们知道deque指的是双端队列,而queue只是普通的先进先出的队列,因此双端队列的功能更加强大,所以队列的很多函数的实现可以直接使用双端队列中已经实现好的函数。
2、构造由内向外、析构由外向内:构造函数是先构造里面的,在构造外面的,析构函数相反。
3、委托:通过指针委托别的类进行本类中函数的设计,好处是将来需要类实现别的功能,我们直接将其指向另一个类就可以,换句话说,不需要对当前类进行改动就可以实现类的功能的改进。下图中的handle/body也就是这个意思,左边是头部,右边是身体,头部主要做声明,实现的任务均由身体进行。
4、继承:子类的对象中有父类的成分在里面,因此构造的时候先调用父类的构造函数再调用子类的构造函数。可以注意下面函数调用的顺序,构造的时候是父类写在外面因此先调用父类,析构的时候将父类的析构函数卸载了内部,因此是后调用父类的析构函数。注意,父类的析构函数必须是虚函数。继承的主要使用还是搭配虚函数一起。
C++学习之组合与继承(侯捷老师)
最新推荐文章于 2025-03-18 23:48:42 发布