C++问题 在自己定义的类里面引用另一个自己定义的类的对象报错 未声明标识符
代码如下classBike{public:Bike(void);~Bike(void);voidSetA(Car*c){car=c;};Car*car;};classCa...
代码如下
class Bike
{
public:
Bike(void);
~Bike(void);
void SetA(Car *c){car=c;};
Car *car;
};
class Car
{
public:
Car(void);
~Car(void);
void SetB(Bike *b){bike=b;}
Bike *bike;
}; 为什么这样不行啊?初学者希望能解答下 展开
class Bike
{
public:
Bike(void);
~Bike(void);
void SetA(Car *c){car=c;};
Car *car;
};
class Car
{
public:
Car(void);
~Car(void);
void SetB(Bike *b){bike=b;}
Bike *bike;
}; 为什么这样不行啊?初学者希望能解答下 展开
1个回答
展开全部
如下就可以了,因为未定义的类型被引用,你需要告诉编译器我有这个class,滞后联编就可以了:
class Car;
class Bike
{
public:
Bike(void);
~Bike(void);
void SetA(Car *c){car=c;};
Car *car;
};
class Car
{
public:
Car(void);
~Car(void);
void SetB(Bike *b){bike=b;}
Bike *bike;
};
class Car;
class Bike
{
public:
Bike(void);
~Bike(void);
void SetA(Car *c){car=c;};
Car *car;
};
class Car
{
public:
Car(void);
~Car(void);
void SetB(Bike *b){bike=b;}
Bike *bike;
};
追问
不行啊,这两个类我是放在不同的头文件的,然后互相引用为成员变量的,也include了头文件的,就不行啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询