美文网首页
C++面向对象程序设计-Third Week

C++面向对象程序设计-Third Week

作者: Letmethinkthink | 来源:发表于2017-11-05 19:01 被阅读0次

    Knowledge Point:



    Composition(复合):

    Composition

    queue类中引入deque类,queue类中方法实现可以依靠deque类中的实现方法。

    生命周期几乎是同时产生,同时消失。

    Delegation(委托):

    Delegation

    String类中声明StringRep类对象,需要使用再生成StringRep类对象,因此生命周期也不同,两种类对象不是同时生成的。

    Inheritance(继承):

    Inheritance

    基类的析构函数必须是virtual。生成对象时先构造Base再构造Dervied由内而外,析构顺序相反,由外而内。

    Virtual functions(虚函数)

    non-virtual:不需要重定义,一般函数。

    virtual:有默认定义,但是希望重新定义。

    pure virtual:没有默认定义,一定要重定义。

    Inheritance+Composition关系下的构造和析构


    构造了如上三个关系的类

    代码截图,可见这种关系下,先构造基类,然后复合类,最后才是派生类,析构顺序相反。


    这种关系状况下,可以预期结果现在基类中构造复合类,然后基类,在派生类,运行果然这样。


    心得:这周老师讲了关于复合、委托、继承三种类的关系,还有一些设计模式,像是开启了一扇新世界的大门,看到外面的世界。

    静态的data一定要在外部进行定义,分配内存。

    经典的23中设计模式是对某种特定问题的解法,组合运用了类的这些关系。虽然我理解的不是很深刻,也只是皮毛,在以后的学习中加深对这些内容的理解

    分享一下找到的关于经典的23种设计模式的总结(慢慢研究)

    :http://blog.csdn.net/cooldragon/article/details/52164380

    相关文章

      网友评论

          本文标题:C++面向对象程序设计-Third Week

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