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,其中大量使用虚函数

你可能感兴趣的:(C++面向对象 Week3——Boolan)