-
假如已经include了某个类的子类,则不能再导入他的父类,否则报错:redefinition of ‘class Person’.刚刚就是这样,百度了半天..查看全部
-
private继承:public成员只能被private继承一次,被继承后属于private,不可以被对象直接访问; protected成员只能被private继承一次,被继承后属于private,不可以被对象直接访问; private成员不能被private继承。 protected继承:public成员可以一直protected继承下去,被继承后属于protected,不可以被对象直接访问; protected成员可以一直protected继承下去,被继承后属于protected,不可以被对象直接访问; private成员不能被protected继承。 public继承:public成员可以一直public继承下去,被继承后属于public,可以被对象直接访问; protected成员可以一直public继承下去,被继承后属于protected,不可以被对象直接访问; private成员不能被public继承查看全部
-
私有继承方式查看全部
-
保护继承方式查看全部
-
虚继承: 人 / \ 工人 农民 \ / 农民工 使用虚(virtual)继承,防止"农民工"中有两个"人"的实例查看全部
-
多继承的语言形式查看全部
-
如果想通过子类初始化顶端父类的数据成员,可以只虚继承一个中间父类,但此时还是会执行2次顶层父类的构造函数查看全部
-
基类与派生类的继承方式为公有public继承时,各成员的访问权限查看全部
-
菱形继承中,重定义必然会出现查看全部
-
如果文件被定义了两次,例如include .h这种情况, 通过宏定义解决重定义 在原.h头文件中: #ifndef PERSON_H #define PERSON_H 。。。 #endif查看全部
-
当B使用公有继承A的private下的数据成员时,子类B会把A类中的private下的成员继承过来,只是在B类中定义的成员函数并不能访问A类的private下的数据成员,但是从A类public下继承的A类的封装函数是可以访问A类的private下的数据成员。总之B类用public继承的A类的private数据成员的的确确是存在于B当中,用sizeof函数就可以得到结果,只是B类不能像访问自己类的private下的数据成员那样访问他们。用类定义的对象不论什么时候都只能访问自己的public下的成员和成员函数。查看全部
-
private不能继承、类外不能访问,protected能继承,类外不能访问,public能继承、类外能访问。总结:权限:类外访问 < 继承 < 类内访问。查看全部
-
父类与子类间无法形成重载,只能进行隐藏查看全部
-
实例化时不要忘记初始化~查看全部
-
公有继承: 基类的公有成员仍然为公有成员,可以有派生类成员函数和派生类对象直接访问。 基类的私有成员在派生类中无论是派生类的成员还是派生类的对象都无法直接访问。 保护成员在派生类中仍然为保护成员,可以通过派生类的成员函数访问,但不能通过派生类的对象访问。 私有继承: 基类的公有和保护成员都被继承为派生类的私有成员,派生类的成员函数可以直接访问。 基类的私有成员不可直接访问,无论是派生类的成员还是派生类的对象都无法访问。 保护继承: 基类的公有和保护成员都被继承为派生类的保护成员,派生类的成员函数可以直接访问基类的公有和保护成员 基类的私有成员在派生类中不能直接被访问查看全部
举报
0/150
提交
取消