一个虚函数的问题。请各位大虾指教!

southlon2000 2003-11-28 08:59:17
我在Redhat下写一个小程序,想试虚函数,但总是不能编译通过,程序如下:

class CShape
{
virtual void Draw();
};

void CShape::Draw()
{
printf("CShape::Draw.\n");
}

class CCircle : public CShape
{
virtual void Draw();
};

void CCircle::Draw()
{
printf("CCircle::Draw.\n");
}

void DoDraaw(CShape& s)
{
s.Draw();
}

main()
{
CCircle c;
DoDraw(c);
}

这是怎么回事啊?
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
maohuang 2003-12-05
  • 打赏
  • 举报
回复
除了把void DoDraaw(CShape& s)该为void DoDraw(CShape& s),在加上public属性,好像没什么错误了。可以编译通过的。
Richelx 2003-12-05
  • 打赏
  • 举报
回复
up
blh 2003-11-28
  • 打赏
  • 举报
回复
建议最好再看看C++教程,理解成员函数的访问权限
yuange 2003-11-28
  • 打赏
  • 举报
回复
C++里默认的函数是private: 你把申明的函数前面加public:
fierygnu 2003-11-28
  • 打赏
  • 举报
回复
?编译器没有提示吗?根据提示修改。
southlon2000 2003-11-28
  • 打赏
  • 举报
回复
我的C++还没那么次,上面的程序是我写错了,但是加上virtual关键字时就是通不过,同样的程序在VC上可以通过,请大家帮忙啊

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧