请问怎么编译多文件

cthwiinnes cthwiinnes 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个问题困扰了很久了~~~例如下面的 程序有个类和主函数,我想把类放到头文件里.可是我按照书上的把类的定义部分放到.hpp然后把实现放到.cpp最后在主函数里包含头文件却老是说类没定义。大家可以用我给的代码说明一下.hpp应该放哪些内容,实现的.cpp文件又应该放哪些内容吗???先谢了~~~~~~~~

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
circle.hpp
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#include<iostream>

const double PI =3.14152;
const float FencePrice = 3.50;
const float ConcretePrice = 0.50;

class Circle{
private:
float radius;
public:
Circle(float r);
float Circumference(void) const;
float Area(void) const;
};

Circle::Circle(float r):radius(r)
{}

float Circle::Circumference() const
{
return 2*PI*radius;
}

float Circle::Area() const
{
return PI*radius*radius;
}

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
main.cpp
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#include"Circle.hpp"
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
float r;
float FenceCost,ConcreteCost;

cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);

cout << "Enter the radius of the pool:";
cin >> r;
Circle Pool(r);
Circle PoolRim(r + 3);

FenceCost = Pool.Circumference() * FencePrice ;
ConcreteCost = (PoolRim.Area() - Pool.Area()) *ConcretePrice;

cout << "Fencing Cost is $" << FenceCost << endl;
cout << "Concrete Cost is $" << ConcreteCost << endl;
system("pause");

return 0;

}
...全文
评论 4
收藏 已收藏
分享
返回顶部