由于某种原因,我必须在同一个文件中声明多个类,并且在parcoular中我必须在声明之前使用其中一个类的对象,这是一个例子:
#include<iostream>
using namespace std;
class square{
double side;
double area;
square(double s){
side = s;
}
void calcArea(){
area = side*side;
}
void example(){
triangle t(2.3,4.5);
t.calcArea();
}
};
class triangle{
double base;
double height;
double area;
triangle(double s,double h){
base = s;
height = h;
}
void calcArea(){
area = (base*height)/2;
}
};
int main(){
}
你可以看到在square类的example()方法中,我使用属于类三角形的对象,该对象在使用后声明。 有一种方法可以让这些代码工作吗?
答案 0 :(得分:3)
由于sayHello()
需要square
,但triangle
不需要triangle
,您只需更改类定义的顺序:
square
或者,由于class triangle {
// ...
};
class square {
// ...
};
是example
中唯一需要square
的内容,因此在定义triangle
之后定义example
:
triangle