您的位置:首页 > 编程语言 > C语言/C++

C++面向对象第三周笔记<Boolan>

2017-07-28 16:10 176 查看
类与类的关系:组合、继承、委托

          Inheritance(继承)

          composition(复合)

  decegation(委托)

composition 表示has-a,我体内有另外一个东西

          A拥有B,A所有的功能可以都由B完成,B或许更强大,随便开放一些功能就可以满足A的需要。

 A所占内存的大小是根据B所拥有数据的内存和确定的。

composition关系下的构造与析构

构造是A所拥有的B先执行构造,然后才是A执行构造,由内而外进行。

析构是A先执行析构,然后执行B析构,是由外到内的。

Decegation, composition by reference

在class内,通过一根指针,指向另外一个类,从而调用另一个类的功能。与composition类似,只是composition是真实拥有,Decegation只是拥有一个指针。

Inheritance,表示is-a

父类的数据是被完整继承下来的。

inheritance关系下的构造与析构

子类的构造函数首先调用父类的default构造函数,然后执行自己。

子类的析构函数首先执行自己,然后才调用父类的析构。

Inheritance with virtual functions(虚函数)

在继承的关系内,所有的东西都可以被继承下来,Data可以,是占用的内存一部分,函数也可以被继承下来,函数的继承,继承的是调用权。

在语法上,我们只要在任何成员函数之前,加关键字virtual,就成为一个虚函数。

non-virtual函数:你不希望子类override它。

virtual函数:你希望子类override它,并且你对他已有默认定义。

pure virtual函数:你希望子类一定要override它,你对它没有任何默认定义。

纯虚函数子类一定要override,空虚函数就可以不override。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: