社区
工具平台和程序库
帖子详情
在C++下如何取父类?
playboxer
2003-07-17 08:04:30
我现在有一个类CDistributeBox(),继承了CDevice().
在CDistributeBox中我如何取得父类的指针?
...全文
505
9
打赏
收藏
在C++下如何取父类?
我现在有一个类CDistributeBox(),继承了CDevice(). 在CDistributeBox中我如何取得父类的指针?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hookuy
2003-07-19
打赏
举报
回复
楼上的和以下所说,都未经过证实,呵呵,权当讨论用。
估计有些地方有错,请大家指正。
派生类对象指针注意事项
1.基类对象的指针可以指向她的公有派生类对象(子类,习惯这样说。以下相同),不可指向派生类对象的私有成员。
2.派生类对象的指针不可以指向基类的对象
3.基类对象的指针,当她要指向派生类对象时,只能用她来访问派生类从基类继承来的成员,不可直接访问公有派生类中特定的成员。间接访问方法就是楼上面说的通过类型转换为派生类指针
((CDistributeBox *) ptr)->show2();
hookuy
2003-07-19
打赏
举报
回复
我现在有一个类CDistributeBox(),继承了CDevice().
在CDistributeBox中我如何取得父类的指针?
在子类中取得调用基类指针
//.....
public:
void show();
void show1();
}
class CDistributeBox:public CDevice{
//.....
public:
void show();
void show2();
}
int main()
{
CDevice obj1,*ptr; //定义基类指针ptr
CDistributeBox obj2;
ptr=&obj1; //将指针指向obj1对象
ptr->show();
ptr->show1();
ptr=&obj2; //将指针指向obj2对象
ptr->show();//调用obj2从基类继承来的成员函数
((CDistributeBox *)ptr)->show();//调用obj2对象的特定成员
((CDistributeBox *) ptr)->show2();//调用obj2成员函数
retrun 0;
}
han.bingtao
2003-07-19
打赏
举报
回复
sorry,理解错了
han.bingtao
2003-07-19
打赏
举报
回复
像Java那样的类对象?
bugbugbug
2003-07-18
打赏
举报
回复
子类对象本身就是父类对象加上子类扩展数据成员,为什么还要取?
MatrixCpp
2003-07-18
打赏
举报
回复
搞不清楚你什么意思,取得父类的指针?
class CDistributeBox : CDevice{
...
private:
CDevice* p; //不就是这样取得父类指针?
}
CDistributeBox a;
a.p //是这个意思不?
zheng_can
2003-07-17
打赏
举报
回复
用 reinterpret_cast<CDevice*>( this )
liao2001
2003-07-17
打赏
举报
回复
试试:
CDevice::this
wintersun
2003-07-17
打赏
举报
回复
搞不懂你什么意思?
这种提法本身有问题.
cpp中继承同名成员
子类中无,
父类
中有时,通过子类对象直接访问变量,会访问到
父类
中的对象(子类中有,
父类
中有时,通过子类对象直接访问变量,会访问到子类中的对象。
c++
父类
指针指向子类对象.
父类
子类指针函数调用注意事项 1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩) 2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。(一般不会这么去定义) 3,如果基础类和衍生类定义了相同名称的成员函数,那么通过对象指针调用...
C++
从子类访问
父类
的私有函数(看的我发愣)
尽管从各种
c++
书籍中我们得到的信息是子类从
父类
继承的仅有protected成员和public成员,而
父类
的private成员无法被子类继承,也无法被子类访问,但是当
父类
的private函数是一个虚函数时,我们却可以通过读
取
VTABLE表中信息,从而找到
父类
虚函数的地址,进而调用它。注意了,关键就在这里:A的虚函数都是私有的,不是么?规律二:当子类和
父类
同时拥有虚函数时,子类的VTABLE中也同时会拥有
父类
和子类的虚函数偏移地址,而且子类的虚函数偏移地址一定是追加在
父类
虚函数偏移地址之后的。
C++
子
父类
中重名变量
C++
子
父类
中变量重名可能比较少遇见,但是如果真的遇见了是怎样一种规则呢?下面代码举例说明#include "stdafx.h" #include
using namespace std; class Father { public: Father(){ age = 50; }; int age; int getAge() const {
C++
中
父类
与子类赋值,
取
地址,引用的理解关系
/*************** 功能:为了验证
C++
中
父类
与子类的赋值,引用,
取
地址。 ****************/ #include <iostream> using namespace std; class Parent//
父类
{ private: int a; public: Parent...
工具平台和程序库
24,851
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章