-
多继承:一个派生类有多个基类查看全部
-
派生类对象可以初始化基类对象查看全部
-
private继承 派生类无法直接访问基类的private数据成员 基类中的protected和public成员在派生类中为private成员查看全部
-
protected继承 派生类无法直接访问基类private数据成员 基类中的protected和public成员在派生类中都为proteced成员查看全部
-
public继承: 派生类无法访问基类的私有成员, 基类中的protected和public成员在基类中为protected和public成员查看全部
-
虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明虚析构函数。 抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。查看全部
-
重定义问题解决方法查看全部
-
首先virtual词典里解释为本质上存在但是没有表现形式,而C++中 注意 virtual 写在了共有继承前面,意思就是在继承时是真实存在但是不能被访问;换句话说,你在实例化对象MigrantWorker时需要实例化Farmar和Worker,而实例化这两个对象需要先实例化一个Person,那么传入值你选谁的?所以系统此时设置为禁止访问,在对象生成后你可以随便访问,因为你不可能通过两种方式同时访问一个对象内的成员。采用初始化列表的方式来赋值,Per实例化时是不能被访问的因此值传不进去,如果你Far和Wor的构造函数体内用 m_strColor=color是可以改的。因为执行有先后顺序,不冲突。查看全部
-
类与类之间必须遵循概念上的父子关系,否则将造成定义和使用的混乱查看全部
-
访问父类中重名函数查看全部
-
private继承查看全部
-
protected继承查看全部
-
public继承查看全部
-
访问父类的同名函数查看全部
-
在虚继承的情况下,作为菱形继承最顶层的父类并没有进行参数的传递,也就是说参数只使用了顶层父类的,默认参数,而无法从子类中获得传入的参数查看全部
举报
0/150
提交
取消