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

C++ 继承 必须注意的地方

2014-04-17 13:59 260 查看
2)继承类构造函数的调用顺序,首先调用基类的构造函数,然后调用成员对象的构造函数,在调用自己的构造函数;成员对象的构造函数的调用顺序由成员对象在类中声明的次序决定;不受构造函数初始化表达中的次序影响;

 

 

 

3)命令隐藏

    在没有虚函数的情况下,如果基类有2个重载函数,如果在派生类中重新定义了其中一个重载函数,那么另外的一个重载函数会被自动隐藏;

      

 

4)非自动继承的函数

        不是所有的函数都能自动地从基类继承到派生类中的。构造函数和析构函数是用来处理对象的创建和析构的,它们只知道对在它们的特殊层次的对象做什么。所以,在整个层次中的所有的构造函数和析构函数都必须被调用,也就是说,构造函数和析构函数不能被继承。

另外,operator=
也不能被继承,因为它完成类似于构造函数的活动。这就是说,尽管我

们知道如何由等号右边的对象初始化左边的对象的所有成员,但这并不意味着这个初始化在继承后仍有意义。

       除了赋值运算符外,其余的运算符可以自动的继承到派生类中;

      

5)继承和静态成员函数

       静态(static)成员函数和非静态成员函数的共同点:

5.1) 
它们均可被继承到派生类中;

5.2) 
如果重新定义了一个静态成员,所有在基类中的其它重载函数会被隐藏;

5.3) 
静态成员函数不可以是虚函数;

 

 

6)运算符重载

   除了赋值运算符外,其余的运算符可以自动继承到派生类中;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: