-
使用虚继承后 person的构造函数和析构函数只被调用了一次 农民工中只有一份数据 在虚继承的情况下 作为菱形继承最顶层的父类 并没有进行参数的传递 使用了默认的参数 无法获得从子类中传入的参数查看全部
-
子类 isA 父类,或者 派生类 isA 基类,可以通过子类赋值实例化父类对象,但是不能用父类实例化子类。也可以用父类的指针指向子类对象,但是不能用子类的指针指向父类对象。综合来说,只能子类给父类赋值。因此可以将形参设置成父类对象或者父类的指针或者父类的引用,这样就可以接受子类对象的赋值,也可以接受父类对象的赋值。其中,指针接受地址,引用接收对象。 将子类的对象赋值给父类对象(或者说用子类的对象初始化父类对象),本质就是将子类从父类中继承的成员赋值给父类对象,子类的其他数据成员就会被截断(因为父类对象只能接受自己原来拥有的数据)。如果是父类的指针指向子类对象,父类指针也只能访问父类拥有的数据成员,无法访问子类独有的数据成员及成员函数。查看全部
-
使用虚继承后 person的构造函数和析构函数只被调用了一次 农民工中只有一份数据 在虚继承的情况下 作为菱形继承最顶层的父类 并没有进行参数的传递 使用了默认的参数 无法获得从子类中传入的参数查看全部
-
D类通过继承 它当中只含有一份person类当中的数据查看全部
-
共有继承的成员情况查看全部
-
在实例化参数临时对象时,调用的是copy构造函数,而不是默认构造函数查看全部
-
当父类对象是从子类得来的,在销毁父类对象时,会只调用父类的析构函数,这会使子类对象没有销毁,导致内存泄露,解决方法是:将父类的析构函数定义为虚析构函数,从而继承到子类的析构函数上,在销毁时能先销毁子类对象再销毁父类对象。查看全部
-
父类的指针可以指向派生类的对象,父类的对象可以接收派生类的对象。派生类一定具有父类的属性,从而派生类一定是父类的一种,父类不一定是派生类的一种。查看全部
-
多继承是一个子类继承多个父类,查看全部
-
公有继承 class A:public B 保护继承 class A:protected B 私有继承 class A:private B 公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。 派生类的成员只能访问基类中的public/protected成员,不能访问private成员; 派生类的对象只能访问基类中的public成员。 保护继承时基类中各成员属性均变为protected,且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,不能访问private成员;派生类的对象不能访问基类中的任何的成员。 私有继承时基类中各成员属性均变为private,且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,不能访问private成员 派生类的对象不能访问基类中的任何的成员。查看全部
-
多个子类继承同个父类是多继承查看全部
-
MigrantWorker::MigrantWoker(string name,string code):Famer(names),Worker(code)查看全部
-
而对于保护继承的意义:当派生类继承父类之后,在派生类中则无法直接访问父类的函数,必须用成员函数调用。不知实际意义何在……查看全部
-
私有继承的意义我算是明白了:就是说当使用private继承后,派生类可以使用基类的数据成员和成员,而如果再往下继承,就无法访问了,即到孙辈则无法继承,其意义就是保证了数据的保密性!真是精妙的设计!查看全部
-
虚继承,保证Farmer和Worker被MigrantWorker继承时,只有一份Person的数据成员m_strColor查看全部
举报
0/150
提交
取消