vc++,重载出问题。

来源:百度知道 编辑:UC知道 时间:2024/05/12 10:35:11
#include"iostream"
using namespace std;
class complex
{
public:
complex(double a=0,double b=0);
complex(complex const &c);
set(double r,double i);
double getreal();double getimag();
friend ostream& operator <<(ostream &out,const complex &c);
friend istream& operator >>(istream &in,complex &c){in>>c.real>>c.imag;return in;}
private:
double real,imag;
};//complex.h
#include"complex.h"
complex::complex(double a,double b)
{real=a;imag=b;}
complex::complex(complex const &c)
{imag=c.imag;real=c.real;}
complex::set(double r,double i)
{real=r;imag=i;}
double complex::getimag(){return imag;}
double complex::getreal(){return real;}
ostream& operator <<(ostream &out,const complex &c) {out<<c.real<<c.imag<<endl;return out;}
void main()
{
complex a(3,5),b(1,2);
cout<<a;
cou

#include <iostream.h>

我用你的代码可以编译的呀,你把#include "iostream"改成<iostream>试试看

还有个编写的问题,set函数没有返回值类型,而且好像你也没有用到set函数,直接删掉吧,不怎么影响。我这里编译后,除了set报错(我把set屏蔽掉了),都是正常的