C ++使用后声明的类的对象

时间:2016-05-22 15:24:15

标签: c++

由于某种原因,我必须在同一个文件中声明多个类,并且在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()方法中,我使用属于类三角形的对象,该对象在使用后声明。 有一种方法可以让这些代码工作吗?

1 个答案:

答案 0 :(得分:3)

由于sayHello()需要square,但triangle不需要triangle,您只需更改类定义的顺序:

square

或者,由于class triangle { // ... }; class square { // ... }; example中唯一需要square的内容,因此在定义triangle之后定义example

triangle