| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:一个很简单的类定义,不知道哪里错了
只看楼主 加入收藏
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
结帖率:96.43%
收藏
已结贴  问题点数:20 回复次数:4 
一个很简单的类定义,不知道哪里错了
class A
{
  public:
  A()
{func();}
virtual void func()=0;//我猜是这里错了。。
};
搜索更多相关主题的帖子: 定义 
2009-12-18 22:15
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:10 
这是个抽象类,从语法上说,并没有错,只是,你是不是写了如下的语句:
A a;
抽象类是不能这样实例化的,这样写会报编译错误。
可以这样用:
A* a;
如果有B 继承了A,并实现了纯虚函数,则有:
B b;
a = &b ;
而且,在A的构造中,不能调用纯虚函数,因为它根本就没有实现代码,是无法调用的。



我看还是让A不要有纯虚函数,写成虚函数就好了,而且要实现它。


[ 本帖最后由 debroa723 于 2009-12-19 13:26 编辑 ]
2009-12-19 13:20
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
我这里已经是全部的代码了,这是考试的一个题目,汗。。没有错误啊?。。

叶的离去,是风的过错,还是树的不挽留?
2009-12-20 12:14
英英
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:29
专家分:133
注 册:2009-3-3
收藏
得分:10 
有错误啊,而且版主已经把问题说得很清楚了,我觉得这个程序的错误就在于A类的构造函数调用了一个纯虚函数,纯虚函数是没有任何实现的,是无法被调用的。你可以考虑把构造函数中纯虚函数的调用去掉 ,或者把纯虚函数改成虚函数,并且一定要实现。我感觉这道试题考察的本质应该就是纯虚函数的使用问题吧

不亏是版主啊 ,问题分析的很透彻

你用vc调试一下应该就知道了吧
2009-12-20 22:19
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
恩,现在理解清楚咯

叶的离去,是风的过错,还是树的不挽留?
2009-12-21 13:14
快速回复:一个很简单的类定义,不知道哪里错了
数据加载中...
 
   



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

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