77问答网
所有问题
C++基类的指针指向派生类成员后,是否可以访问派生类的公共成员变量
如题,当然,这个公共成员变量不是从基类继承的,而是派生类独有的
举报该问题
推荐答案 2009-04-07
不能
除非强制类型转换成派生类指针
原因很简单,编译器根本就不可能知道基类是基类,基类有几个派生类,每个派生类又有什么成员变量
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/qYNYvI8N.html
其他回答
第1个回答 2009-04-07
不能的,你这个指向基类的指针相当于被截断,不能访问派生类的非基类成员变量,除非你强制转换成派生类指针,否则访问出错的,但是你要访问派生类中基类的成员变量还是可以的
第2个回答 2009-04-07
基类指针不能访问派生类的非基类成员,,编译器不知道的,,除非你 向下类型转换才可能
第3个回答 2009-04-07
bu neng
相似回答
C++
中
,基类能
引用
派生类的成员
函数吗?能引用派生类的对象吗?
答:
如果基类中声明的参数相同的同名虚函数,就能引用;否则不能
。基类中不能直接引用派生类的对象,同楼上的,可以把派生类当作基类来使用。
C++
中
基类指针指向派生类
对象
可以
调用
派生类的
新增
成员
么
答:
但是,你作为这个指针的写作者,你当然知道这个
基类指针指向
的是派生类对象。所以
,可以
将这个基类指针强制转换为派生类指针(就是强制编译器把这个指针静态类型看作
派生类型
),静态类型表明了一个对象 能执行的所有动作(成员函数)+它的自有属性(数据成员),这样
派生类的
新增成员就可以被这个指针调用了 动...
...成员函数只能
访问基类成员,
而不
能访问派生类的成员,
有疑问?_百度...
答:
首先,派生类的新成员不在基类的作用域内,那么如果基类想要
访问派生类的
新添加成员就必须只能是派生类对象的成员(情况1)或者派生类的静态数据成员(情况2)。其次
,基类的
定义必定是在派生类前面的,那么,基类要想使用派生类的新添加
成员,
必须对派生类作前置声明。而又因为仅有前置声明是不能定义实体...
在公有继承的情况下
,基类成员
在
派生类
中的
访问
权限保持不变?
c++
答:
C++在公有继承的情况下,基类的public和protected成员的访问属性在派生类中不变,而基类的private成员不可访问
。其他外部使用者只能通过派生类的对象访问继承的public成员。另外,追加点分再采纳吧,亲。。
指向派生类的基类指针
可不
可以
调用
派生类成员
函数?
答:
可以,
只要那个
派生类成员
函数是
基类的成员
函数的一个重写版本 以
C++
为例,假如有 class Runnable { virtual void run();};class myclass : Runnable { virtual void run() { throw runtime_error("unimplemented"); } };并且有 myclass o;Runnable* p = &o;那么 p->run() 就调用了派生类...
派生类的
对象对
基类
中的什么
成员
是
可以访问
的?
答:
C++
中派生类对
基类成员
的三种访问规则:1、私有继承的访问规则 当类的继承方式为私有继承时
,基类的
public成员和protected成员被继承后成为派生类的private
成员,派生类的
其它
成员可以
直接访问它们,但是在类的外部通过派生类的对象无法访问。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生...
请问关于
c++
虚函数的问题
答:
虚函数 为什么要使用虚函数:正如上面第1和3点所讲的,当声明一个
基类指针指向派生类
对象时,这个基类指针只能
访问基类
中的成员函数,不
能访问派生类
中特有的
成员变量
或函数。如果使用虚函数就能使这个指向派生类对象的基类指针访问派生类中的成员函数,而不是基类中的成员函数,基于这一点派生类中的这个...
大家正在搜
派生类指针可以指向基类吗
抽象类指针可以指向不同的派生类
基类指针能否等雨派生类指针
基类指针转换成派生类指针
基类指针数组指向派生类
指向基类的指针数组
基类指向派生类
派生类指针调用基类函数
基类引用指向派生类对象
相关问题
C++中基类指针指向派生类对象可以调用派生类的新增成员么
C++的基类如何访问其派生类的成员变量?
c++中派生类如何访问基类成员变量?
c++ 派生类的对象对它的基类成员中哪一个是可以访问的?
为什么基类指针可以指向派生类对象而派生类指针不可以指向基类对...
指向派生类的基类指针可不可以调用派生类成员函数?
基类指针可以指向一个派生类,然后调用派生类里的函数吗
C++ 派生类指针指向基类对象