美文网首页
C++ 总结

C++ 总结

作者: 坏水强 | 来源:发表于2018-06-21 19:33 被阅读0次

    1.函数重载是为了实现 虚函数的副产品,函数重载引进了操作符重载,但也引入了工程函数的歧义性。

    反例:定义了fun(double)和fun(float),当我们调用fun(int)会出现歧义。

    2.构造函数的初始化 尽量使用初始化列表,这样做的目的是在构造之前初始化成员,如果定义在结构体中,只能在调用构造函数时初始化成员。

    两种情况下必须使用初始化列表:

    1)const成员

    2)子类的父类没有默认的构造函数,子类在构造构造 必须先通过初始化列表构造父函数。

    3.多态的基础是容器。虚函数的目的 是为了实现多态,多态是因,虚函数是果。

    面向对象的 程序设计方法需要多态,但并不需要虚函数,虚函数只是C++语言中特有的方法。

    面向对象 需要对象的概念,但并不需要类,所以有的程序语言并没有类的概念。

    4.函数传递对象参数时,需要传递引用,而不是传值,这是因为在对象传值过程中,会调用拷贝构造函数,效率比较低。

    拷贝构造函数的参数必须是引用,如果是传值传参会造成无穷调用拷贝构造函数。

    5.组合是包含一个对象,而聚合是包含一个类指针。组合控制生死,聚合不控制,就是拿过来用一下。

    从耦合性上讲 继承>组合>聚合,我们在编写代码时总是希望弱耦合,所以尽量选择聚合和组合。继承主要针对抽象类,继承接口。

    6.对象决定虚函数,类决定非虚函数。

    7.析构函数尽量选择虚函数,虚析构函数具有特殊的性质,即调用虚析构函数时会先调用父虚构函数。

    相关文章

      网友评论

          本文标题:C++ 总结

          本文链接:https://www.haomeiwen.com/subject/morzeftx.html