文件包含的问题~大家来看看哈!
小弟在学习运算符的重载,心血来潮写了个对+号的重载,使它能适合于两个复数的运算~然后用文件包含这个类,下面是类和main的代码,不知道是不是这样使用文件包含的,程序运行是没有问题,有疑问的地方小弟加了注释哈~希望高手能来帮助小弟哈~!这是主函数:
#include <iostream>
#include "add_file.cpp"
using namespace std;
int main()
{
Complex a,b,c;
a.get(); //这是调用了类文件里的函数,但是如果使用的人不知道类里面有这个函数怎么办呢?
b.get(); //本来想用cin>>来输入的,但是会报错,是不是还有对>>再进行重载?
c=a+b;
c.display(); //这里也是一样,想用cout<<,是不是也是需要对<<进行重载?
system("pause");
}
这是被包含的类文件:
#include <iostream>
using namespace std;
class Complex
{
public:
void get();
void display();
friend Complex operator + (Complex &a,Complex &b);
private:
int real;
int imag;
};
void Complex::get()
{
cin>>real;
cin>>imag;
}
void Complex::display()
{
cout<<real<<"+"<<imag<<"i"<<endl;
}
Complex operator + (Complex &a,Complex &b)
{
Complex c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c;
}