标题:类的函数问题
只看楼主
yang0401
Rank: 2
等 级:论坛游民
帖 子:84
专家分:57
注 册:2011-5-23
结帖率:69.23%
已结贴  问题点数:20 回复次数:4 
类的函数问题
class p
{
   public:
         p();
         ~p();
         void show()=0;         //这里为什么可以直接等于0 啊
  private;
}
搜索更多相关主题的帖子: void private public 
2012-05-17 10:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
void show()=0; 这是个纯虚函数的声明语法,并不是给 void show() 赋值。
另外,只有虚函数才可以用=0来表示其为纯虚函数,所以 virtual void show() = 0; 才是正确的语法
2012-05-17 15:09
夏一站
Rank: 1
等 级:新手上路
帖 子:11
专家分:7
注 册:2012-4-26
得分:7 
因为它是虚函数.
2012-05-17 15:20
非己莫属
Rank: 2
来 自:河南信阳
等 级:论坛游民
帖 子:13
专家分:14
注 册:2012-4-28
得分:7 
楼主,void show()是一个纯虚函数,当一个函数在基类中不能给出一个有意义的定义时,就应该把它写成这种形式void show()=0,
然后在派生类中再对它进行重新具体的定义。比如void show()是输出一个人的工资的函数,那它是输出教师的工资,司机的工资,还是工人的工资呢,
因为这几类人的工资计算方式是不同的,所以要在定义的几个派生类中,重新定义void show()函数,以便输出这几类人的工资情况。
楼主,不知我举得例子怎么样。



[ 本帖最后由 非己莫属 于 2012-5-17 18:30 编辑 ]
2012-05-17 18:28
yang0401
Rank: 2
等 级:论坛游民
帖 子:84
专家分:57
注 册:2011-5-23
得分:0 
嗯,谢谢了
2012-05-18 14:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367629-1-1.html




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

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