主要后的c ++类声明?

Ant*_*ndo 3 c++ declaration

#include "stdafx.h"
using namespace System;

class Calculater; // how to tell the compiler that the class is down there? 

int main(array<System::String ^> ^args)
{
    ::Calculater *calculater = new Calculater();

    return 0;
}

class Calculater
{
public:
    Calculater()
    {
    }
    ~Calculater()
    {
    }

};
Run Code Online (Sandbox Code Playgroud)

我在主要之后声明了这个类,我怎么告诉编译器我的类是什么?我尝试过
Calculater类; 在主要之前但它不起作用.

Dav*_*ave 6

在预先申报后,您可以指向计算器.问题是构造函数(new Calculator()),此时尚未定义.你可以这样做:

在主要之前:

class Calculator { // defines the class in advance
public:
    Calculator(); // defines the constructor in advance
    ~Calculator(); // defines the destructor in advance
};
Run Code Online (Sandbox Code Playgroud)

主要之后:

Calculator::Calculator(){ // now implement the constructor
}
Calculator::~Calculator(){ // and destructor
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*ter 5

你不能这样写它是怎么写的.编译器必须能够在使用它之前查看类的定义.您需要将您的类放在main函数之前,或者最好放在您包含的单独的头文件中.