【boolan c++】面向对象的三大方式以及设计模式

来源:互联网 发布:linux 批量删除进程 编辑:程序博客网 时间:2024/06/05 18:38

c++的面向对象有三种实现方式:

1、复合  composition    has-a                                                                  class A 拥有class B

2、委托  delegation      composition by reference                                    class A 中有指针成员指向 class B

3、继承  Inheritance     is-a                                                                      class B 是class A的派生


继承与虚函数

成员函数分为 non-virtual , virtual , pure virtual 函数三种

non-virtual 函数 : 不希望派生类重新定义(override)它

vitual        函数   : 希望派生类重新定义它,但是拥有一个默认定义,也允许派生类使用默认定义而不定义它

pure virtual 函数: 派生类必须重新定义它,因为它没有默认定义      


继承的访问控制:

public        公有继承   (struct的缺省继承方式)   基类的public成员变成派生类的public成员,基类的protected成员变成派生类的protected成员

private       私有继承     (class 的缺省继承方式)基类的public成员和protected成员变成派生类的private成员

protected  保护继承                                                基类的public和protected成员变成派生类中的protected成员

注意: 任何一种继承方式,派生类都不能直接access基类的private成员。