请问怎么编译多文件
这个问题困扰了很久了~~~例如下面的 程序有个类和主函数,我想把类放到头文件里.可是我按照书上的把类的定义部分放到.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;
}