| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 872 人关注过本帖
标题:求助:这是基类指针指向派生类中成员函数的方法吗?
只看楼主 加入收藏
bardon_2009
Rank: 2
等 级:论坛游民
帖 子:23
专家分:28
注 册:2012-1-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求助:这是基类指针指向派生类中成员函数的方法吗?
从百度下载了一个C++课程设计源程序,并通过了编译与运行,程序OK。
但读到程序中类指针用法时,一时找不到这样用法的出处,请大虾指点,谢谢,祝春节快乐!

程序进行了简化,问题在程序中标注的问号处,谢谢。

class Person //员工类
{
friend class Company;

}

class Cservant:public Person //文员类
{
public:
void SetWorkload(double Amount) ;
}
}
class Company //公司类
{
void Add(); //增加人员

}

void Company::Add()
{
Person *p
((Cservant *)p)->SetWorkload(Workload);

//??????????????????????????????
// 这是基类指针指向派生类中成员函数的方法吗?

}  
搜索更多相关主题的帖子: class void 百度下载 public double 
2012-01-19 22:59
鑫乐源
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:27
专家分:150
注 册:2011-10-20
收藏
得分:20 
基类提升,,

这里你理解为 只是把指针p指向的一块内存由基类类型解释成派生类类型,

前提条件p必须是Cservant实例

不要和编译器比智商。
2012-01-20 00:00
bardon_2009
Rank: 2
等 级:论坛游民
帖 子:23
专家分:28
注 册:2012-1-14
收藏
得分:0 
以下是引用鑫乐源在2012-1-20 00:00:49的发言:

基类提升,,

这里你理解为 只是把指针p指向的一块内存由基类类型解释成派生类类型,

前提条件p必须是Cservant实例
谢谢指点,从哪里找到如此用法的出处?
2012-01-20 09:24
bardon_2009
Rank: 2
等 级:论坛游民
帖 子:23
专家分:28
注 册:2012-1-14
收藏
得分:0 
  在网上找到了依据,就是基类指针被强制转换为派生类指针的用法。
2012-01-20 10:26
快速回复:求助:这是基类指针指向派生类中成员函数的方法吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015571 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved