虚函数的问题

mrqiqi 2008-10-19 11:41:48

class base{
public:
string name() {return basename;}
virtual void print(ostream &os) {os<<basename;}
private:
string basename;
};
class derived:public base{
public:
void print(ostream &os){print (&os); os<<" "<<mem;}
private:
int mem;
};

我想问一下哪里出错了
...全文
36 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrqiqi 2008-10-19
  • 打赏
  • 举报
回复
恩 谢谢啦
weiyifengjing 2008-10-19
  • 打赏
  • 举报
回复
你调用基类的方法要在前面加作用域操作符
void print(ostream &os){print (&os); os < <" " < <mem;}
改为:
void print(ostream &os){base::print (&os); os < <" " < <mem;}
如果派生类调用的基类方法在派生类中没有重新定义,就不需要加

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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