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

种的继承与变量覆盖

2013-09-11 
类的继承与变量覆盖下面的输出按理说应该是 12,但为什么不是??#include iostreamusing namespace stdcl

类的继承与变量覆盖
下面的输出按理说应该是 12,但为什么不是??

#include <iostream>
using namespace std;

class A
{
public:
int _a;
A()
{
_a = 1;
}
void print()
{
printf( "%d", _a );
}
};

class B : public A
{
public:
int _a;
B()
{
_a = 2;
}
};

int main()
{
B b;
b.print();    // 18712700 ??
printf( "%d ", b._a ); // -858993460
}
继承 类 class
[解决办法]
vs2010运行你的程序
输出:
12
不明白你怎么输出那么奇怪的数字,变量在默认构造函数已经初始化了。
[解决办法]
我在windows下用codeblocks编译报错:
error: 'printf' was not declared in this scope
[解决办法]

楼主包含的iostream为何还要用printf?或者直接包含stdio
[解决办法]
看代码逻辑上是输出1和2的,
这边没环境,运行不了!
可以重新编译下再执行试试

热点排行