当派生类指针指向基类对象时( ) A. 可以直接调用基类的成员函数 B. 可以调用派生类对象的成员函数 C. 必须强制将派生类指针转换成基类指针才能调用基类的成员函数 D. 以上说法都不对 相关知识点: 试题来源: 解析 C.必须强制将派生类指针转换成基类指针才能调用基类的成员函数 ...
派生类指针可以指向基..是的,派生类指针可以指向基类对象,但是派生类指针只能访问基类中的成员函数和成员变量,无法访问派生类独有的成员函数和成员变量。这是因为基类中没有派生类中新增的成员,派生类指针无法访问这些新增的成员。
在C++中,派生类指针可以指向基类对象,这是多态的一种体现。由于派生类是从基类继承而来的,派生类对象包含了基类对象的部分或全部成员。因此,可以将派生类指针指向基类对象,并通过该指针访问基类对象的成员。 以下是一个示例,演示了派生类指针指向基类对象的情况: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数 如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。 如果基础类和衍生类定义了相同名称的成员函数,那么通过对象指针调用...
派生类对象可以当做基类对象,这是因为派生类包含基类的所有成员。 但是基类对象无法被当做成派生类对象,因为派生类可能具有只有派生类才有的成员。 所以,将派生类指针指向基类对象的时候要进行显示的强制转换,否则会使基类对象中的派生类成员成为未定义的。
下列说法中不正确的是 。 A. 指向基类对象的指针可以指向派生类对象 B. 基类指针指向派生类对象时,只能访问到从基类继承来的成员 C. 派生类对象可以初始化基类引用 D. 指向派生类对象的指针可以指向基类对象 相关知识点: 试题来源: 解析 以下程序输出的各行是 (1) 、 (2) 、 (3) 。 #include class A...
先上结论:“指向派生类对象的基类指针”只能访问在抽象基类中声明(不非得要求在基类中定义过)的虚函数(virtual function),而不能访问派生类中自己新增的函数。 实验: #include<iostream> using namespace std; //define abstract class class Shape {
基类指针可以指向派生类从基类继承的那部分,这就是我们所说的多态,但是如果一个派生类想想指向一个基类的部分,那么这个部分必须是public ,并且这个指向的部分应该是派生类原封不动的继承过来的,并且是在派生类中没有修改,为了安全起见(没有语法的前提下)必须把派生类指针强制转化为基类指针。
当A类指针指向B类对象时,发生假切割。要知道这个过程只是切掉A类中没有的那些成员,由于vptr是从A类中继承来的,所以这个量仍将保留。而对于vptr的值则不会改变,仍然指向B类的vtable表。所以访问F1函数的时候是通过B类的vtable表去寻址的,自然就是使用子类的函数。当B类的指针指向A类的对象时(当B...
派生类的指针变量也可以指向基类对象。A.对B.错的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具