这是一段体现问题的代码:
class Apples {
Apples() {
color = 5;
}
int color;
};
Apples jonathan;
class Fruit {
Fruit() {
type = jonathan.color;
}
int type;
};
给出的错误是:'jonathan'unclaclared(首先使用此函数)。
答案 0 :(得分:0)
您发布它的方式不会导致该错误。如果它们位于不同的文件中,您只需确保必要的部分位于头文件上并包含(使用#include)必要的标题。
答案 1 :(得分:0)
您发布的代码将导致编译时错误(例如构造函数是私有的)。所以这不是真正的代码。
但是,使用全局变量被认为是一种不好的做法,相反,您必须使用成员变量,并在必要的基础上传递引用。
请注意,您的Apple()
构造函数是私有的。 Fruit()
构造函数也是如此。
答案 2 :(得分:0)
在c ++中 苹果乔纳森;在main
中声明int main()
{
Apples jonathan;
}
现在你在一个不可能的类中调用对象的方法(jonathan.color)