VScode C++ 分离类的定义和实现后,报错undefined reference to `Circle::Circle()',如何解决?

VS Code 上使用C++,写一个圆的类,分离类的定义和实现:

Circle.h

class Circle
{
public:
    double radius;
    Circle();
    Circle(double);
    double getArea();
};

Circle.cpp

#include "Circle.h"

Circle::Circle()
{
    radius=1;
}

Circle::Circle(double newRadius)
{
    radius=newRadius;
}

double Circle::getArea()
{
    return radius*radius*3.14159;
}

以及一个测试程序 TestCircleWithHeader.cpp

#include <iostream>
#include "Circle.h"
using namespace std;

int main()
{
    Circle circle1;
    Circle circle2(5.0);

    cout <<"Circle1:"<<circle1.radius<<" Area is:"<<circle1.getArea()<<endl;
    cout <<"Circle2:"<<circle2.radius<<" Area is:"<<circle2.getArea()<<endl;

    circle2.radius=100;
    cout<<"After fuzhi circle2:"<<circle2.radius<<" Area is:"<<circle2.getArea()<<endl;

    return 0;
}

F6编译的时候,会显示

img


试过在终端输入

g++ Circle.h Circle.cpp TestCircleWithHeader.cpp -o Main

但它也只是生成了一个Main.exe的文件,F6运行TestCircleWithHeader.cpp还是这样报错。该怎么做才能用VS Code实现类的定义和实现的分离呢。。

这是由于你的vscode没有配置好c++ 环境导致的。
建议参考如下文档。
https://www.freesion.com/article/9038555151/
更详细的配置c++教程可以使用该教程。
https://code.visualstudio.com/docs/cpp/config-msvc