当基类指针指向派生类对象时,利用基类指针调用派生类中与基类同名但被派生类重写后的成员函数时,调用的是() A. 基类的成员函数 B. 派生类的成员函数 C. 不确定 D. 先调用基类的,再调用派生类的 相关知识点: 试题来源: 解析 A.基类的成员函数
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序;
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序:
定义抽象类Shape,在此基础上派生出圆类Circle、正方形类Square、三角形类Triangle,3个派生类都有构造函数,输入和显示信息函数Input()、Show(),计算面积的函数Area(),计算周长的函数Perim()。完成以上类的编写,在主函数中动态创建3类对象,通过基类的指针指向派生类对象,并调用派生类对象相应函数。 源代码: #include...
答案是:用取内容运算符*获得派生类对象,然后再强制转换成基类的对象,用它去调用即可。 ps. 同样的,在多态情况下,用基类指针new一个派生类对象,基类和派生类都会初始化一个对象,然后各自维护。 在用指针去调用数据成员、非虚成员函数时,两者完全相同。
当基类指针指向派生类对象时,( )。A.发生语法 错误B.只能调用基类自己定义的成员函数C.可以调用派生类的 全部 成员函数D.以上说法全部错误
当派生类指针指向基类对象时( ) A. 可以直接调用基类的成员函数 B. 可以调用派生类对象的成员函数 C. 必须强制将派生类指针转换成基类指针才能调用基类的成员函数 D. 以上说法都不对 相关知识点: 试题来源: 解析 C.必须强制将派生类指针转换成基类指针才能调用基类的成员函数 ...
要想形成多态必须存在基类类型的指针指向派生类对象,且通过该基类指针调用虚函数。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力
先不论static_cast会不会报错(因为按照你的思路,应该用的reinterpret_cast)。因为Derived1::cc并不是...
类A中有了虚函数就会再类的数据成员的最前面添加一个vfptr指针(void** vfptr),这个指针用来指向一个vtable表(一个函数指针数组)(一个类只有一个该表),该表存储着当前类的所有 虚函数 的地址。这样vfptr就成为了一个类似成员变量的存在。访问虚函数的时候通过vfptr间址找到vtable表,再间址进而...