首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

帮忙分析一段C++代码解决方法

2013-03-27 
帮忙分析一段C++代码刚接触C++,碰到一段代码 ,帮忙看下。谢谢了#include iostreamusing namespace stdcl

帮忙分析一段C++代码
刚接触C++,碰到一段代码 ,帮忙看下。谢谢了帮忙分析一段C++代码解决方法

#include <iostream>
using namespace std;

class A
{
public:
A()
{
doSth();
}
virtual void doSth()
{
cout<<"I am A"<<endl;
}
};
class B:public A
{
public:
virtual void doSth()
{
cout<<"I am B"<<endl;
}
};

int main()
{
B b;
return 0;
}


运行结果:I am A        
为什么class B虚函数不执行呢?
[解决办法]
B类继承A类,所以B类的对象应该调用A类的构造函数。如果,想要执行B类中的函数需要明确指明对象b去调用该函数。

个人愚见。
[解决办法]
B b先构造基类对象就是A,A构造函数中doSth调用的是自己的,然后构造子类对象就是B了,B调用的默认的缺省构造函数,当然不执行doSth了

热点排行