Vin*_*nce 3 c++ program-entry-point class
我正在观看一些关于C++的视频教程,我知道你必须在使用或调用之前定义一个函数/类.但我喜欢将main()函数放在顶部,而其他所有函数都放在main函数下面.我知道如果我在main函数下定义一个函数,我必须在使用它之前声明它,但是一个类怎么样?我需要在主函数之上放置什么才能在主函数下面使用我的类.
#include <iostream>
using namespace std;
int main()
{
ClassOne one;
one.coolSaying();
return 0;
}
class ClassOne
{
public:
void coolSaying()
{
cout << "Cool stuff yo!" << endl;
}
};
Run Code Online (Sandbox Code Playgroud)
我试着通过在main()之前放置我的类来定义我的类:
class ClassOne;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
这就是头文件通常在C++中使用的原因.当你说ClassOne one,编译器需要知道类是什么样的,以创建该类型的对象.仅知道该类存在于某个地方是不够的(如果你想要的只是一个指针就足够了).所以编译器需要已经读过类的定义.
您的类必须在首次使用之前定义.如果不事先明确说明main,通常的方法是创建一个头文件.因此,您ClassOne.h使用类声明创建,并且您#include "ClassOne.h位于文件的顶部.在这种情况下,类的实际方法通常在另一个源文件中ClassOne.cpp.