C++面向对象 Week3——Boolan

面向对象三大类:

Composition 复合

Delegation 委托

Inheritance 继承

一、Compositon复合 

表示has a

构造由内而外

container构造函数首先调用Cmoponent的default构造函数,然后再执行自己

析构由外而内

container构造函数首先执行自己,再调用Component的析构函数

二、Delegation 委托

pointer to implementation

三、Inheritance 继承

表示 is a

public:父类的数据被完成继承

构造由内而外

Derived的构造函数首先调用Base的default构造函数,再执行自己

析构由外而内

Derived析构函数首先执行自己,再调用Base的析构函数

Base的dtor必须是virtual,否则会undefined behavior


函数加virtual变成虚函数

non-virtual:不希望drived class 重新定义

virtual函数:希望derived class重新定义,且对它已有默认定义

pure virtual函数:derived class一定要重新定义,且对它没有默认定义


Template Method 被广泛应用于Application framework,其中大量使用虚函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容