我想练习一些基本的C ++东西。我专注于继承只是为了进行尝试。一切顺利,直到遇到一个奇怪的问题:“ cout”未在此范围内声明。我已经看过一些主题,但是在大多数主题上,它们的提示就像是附加库或编写“使用命名空间标准”,但这并不能解决我的问题。
#include <iostream>
class podst
{
public:
float a;
float b;
float dodaw();
podst(float c,float d) : a(c), b(d)
{
}
};
float podst::dodaw()
{
return (a+b);
}
class poch : public podst
{
poch() : podst(5,4)
{
cout << a << endl << b << dodaw() << endl;
}
};
using namespace std;
int main()
{
podst podst(1,2);
cout << podst.dodaw() << endl;
poch poch2;
return 0;
}
最佳答案
poch
从全局命名空间而不是从cout
命名空间调用std
。请注意,using namespace std;
指令实际上位于其下方,而不位于上方。如果您不想每次都写整个命名空间前缀,则最好根据每个函数而不是每个文件放置该指令:
poch() : podst(5,4)
{
using namespace std;
cout << a << endl << b << dodaw() << endl;
}
这种方法将有助于保持较大的代码基础。