【发布时间】:2012-10-17 04:33:08
【问题描述】:
所以我在学习课程时偶然发现了一些对我来说很尴尬的东西。
class Nebla
{
public:
int test()
{
printout();
return x;
}
void printout()
{
printout2();
}
private:
int x,y;
void printout2()
{
cout<<"Testing my class";
}
};
我发现在一个类中我可以在声明函数之前使用它们(原型化它们)
你可以看到我在声明之前使用了
printout(),printout2()。
我也可以在声明变量之前使用它们
你可以看到我做了
return x;在声明 x 之前。
为什么我可以在声明之前在类中使用函数和变量,但如果我这样做,我会得到一个错误?
谢谢
【问题讨论】:
-
我还没有看到这个的具体答案,但我猜这是由于编译器对类做了两次传递。
-
@chris 你的意思是编译器在类上做了两次传递
-
This comment 似乎强化了这种猜测。这个问题有点涉及这个概念。
标签: c++ class function variables prototype