开始想要写的时候其实自己也经看完了 前五个部分,正在看继承与面向对象的设计。
今天就把以前看过的内容总结下:
视C++为一个联邦语言: C Object-Oriented C++ Template C++ STL
mutable 允许成员变量可能总是会被改变 即使在const成员函数内
从base class继承来的public virtual 方法 可以在派生类中声明为private,但是这时候如果把派生类以基类的类型去访问的这个方法的话,这个方法还是作为public、可以访问的。所以企鹅是鸟但是不会飞这类问题不能通过private来关闭掉飞的属性。
如果你想继承一个标准容器(所有stl容器,如:std::string),或任何其他带有non-virtual析构函数的类,拒绝诱惑吧!
你必须为virtual析够函数提供一份定义。析构函数的运作方式是(以base class类型析构派生成员):最深层派生的那个 class他的析构函数最先被调用,然后是其每一个base class的析构函数被调用。(编译器会在派生类析构函数中创建一个对基类的析构的调用。)
今天先写这么多。明天继续!