-
父类的保护成员继承到子类的保护成员下面,可以通过子类的成员函数访问,不能外部直接访问;父类的私有成员无法继承到子类,也就无法通过子类访问查看全部
-
解决重定义:宏定义,在公共继承的头文件中定义 #ifndef 文件名 #define 文件名 *** *** #endif查看全部
-
虚析构函数可以继承:virtual ~函数名()查看全部
-
!!!查看全部
-
继承方式:public查看全部
-
include包含头文件时注意双引号“”和尖括号<>是不同的,编译器会搜索不同的路径 (1)尖括号<>是引用C++自身文件库里的头文件,如<iostream> (2)双引号“”则是引用用户自己编写的头文件,如“Person.h”查看全部
-
先子类后父类查看全部
-
子类初始化父类成员时初始化列表要加父类类名查看全部
-
调用父类的同名成员函数要用::查看全部
-
保护继承public类在protect下查看全部
-
父类中的public会继承到子类中的public,所以在子类的定义中不必再有父类的成员函数查看全部
-
多重继承 三代 多继承 一个派生类继承两个基类查看全部
-
通过宏定义来解决重定义 在公共的被继承的类中写上:#ifndef(假如没有定义)PERSON_H区分其他定义 #define PERSON_H …… #endif查看全部
-
这里老师讲的不对, 如果存在多继承.那么初始化子类的时候肯定先需要调用父类的析构函数.但是先调用哪个父类的析构函数.此顺序不取决于初始化列表,而是取决于你继承的顺序.比如 class A : public B, public C { A(b,c):C(c),B(b); }; 上面的例子,A先继承了B,再继承C.但是初始化列表中先初始化了C,再初始化B.但是B和C的执行顺序确实 B - C - A . 可见多继承的父类初始化顺序应该和继承顺序有关.查看全部
-
子类对象调用父类对象的方法 : 比如本例 Soldier 是子类,Person 是父类 那么子类对象调用父类的方式是 soldier.Person::play(); 也就是 子类对象.父类名::方法名; 那么子类指针调用父类的方式是 soldier->Person::play(); 也就是 子类对象->父类名::方法名; 多继承中也是这样,只要在对象/指针的 ./-> 后面加上你要调用的具体父类名称 然后 :: 方法名即可...查看全部
举报
0/150
提交
取消