使用两个 .cpp 文件和一个头文件

Using two .cpp files and one header file

所以我正在做这个作业,但我的教授没有把说明写得很清楚。

我应该有两个 .cpp 文件和一个头文件。其中一个 .cpp 文件具有主要功能并包含头文件。它显示一个简单的输出,然后创建一个名为 "Monster." 的对象,因此在主 .cpp 文件中我调用了默认构造函数,这是我对说明感到困惑的地方。构造函数和析构函数应该位于头文件还是其他.cpp 文件中?

到目前为止我的代码是这样的:

Main.cpp

#include <iostream>
#include <Monster.h>
using namespace std;

int main()
{
    cout << "I am going to make a monster!\n";
    Monster boggy = Monster();
}

Monster.cpp

#include <iostream>
#include <Monster.h>
using namespace std;

class Monster
{
    Monster()
    {
        cout << "A monster is born!\n;
    }
    ~Monster()
    {
        cout << "A monster is destroyed!\n;
    }
};

Monster.h

class Monster
{
};

惯例是您的 constructor/destructor 在 Monster.h 文件中声明,并在 Monster.cpp 文件中定义。以我最近的一个编程作业为例,其中涉及一个 Sorted class:

Sorted.h

class Sorted {
public:
    Sorted();
    ~Sorted();
};

Sorted.cpp

#include "Sorted.h"

Sorted::Sorted() {
    // constructor code goes here
}

Sorted::~Sorted() {
    // destructor code goes here
}

你可以把它想象成你的头文件几乎被直接插入到对应的.cpp文件的顶部。您所有的方法和实例变量都在 .h 文件中声明,然后在 .cpp 文件中明确说明要做什么。