注册 登录
编程论坛 C++教室

类的函数问题

yang0401 发布于 2012-05-17 10:40, 402 次点击
class p
{
   public:
         p();
         ~p();
         void show()=0;         //这里为什么可以直接等于0 啊
  private;
}
4 回复
#2
rjsp2012-05-17 15:09
void show()=0; 这是个纯虚函数的声明语法,并不是给 void show() 赋值。
另外,只有虚函数才可以用=0来表示其为纯虚函数,所以 virtual void show() = 0; 才是正确的语法
#3
夏一站2012-05-17 15:20
因为它是虚函数.
#4
非己莫属2012-05-17 18:28
楼主,void show()是一个纯虚函数,当一个函数在基类中不能给出一个有意义的定义时,就应该把它写成这种形式void show()=0,
然后在派生类中再对它进行重新具体的定义。比如void show()是输出一个人的工资的函数,那它是输出教师的工资,司机的工资,还是工人的工资呢,
因为这几类人的工资计算方式是不同的,所以要在定义的几个派生类中,重新定义void show()函数,以便输出这几类人的工资情况。
楼主,不知我举得例子怎么样。



[ 本帖最后由 非己莫属 于 2012-5-17 18:30 编辑 ]
#5
yang04012012-05-18 14:39
嗯,谢谢了
1