急~!C++~!

来源:百度知道 编辑:UC知道 时间:2024/05/26 00:35:43
error C2146: syntax error : missing ';' before identifier 'Complex'
error C2501: 'Class' : missing storage-class or type specifiers
fatal error C1004: unexpected end of file found

急着交作业。。。也不知道对不对,就是有个错误。。。找不到在哪呢。。老指着没不对的地方。。。

#include<iostream>
using namespace std;
Class Complex
{public:
Complex(){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator/(Complex &c2);
friend Complex operator*(Complex &c1, Complex &c2);
void display();
private:
double real;
double imag;
};

Complex Complex::operator/(Complex &c2)
{Complex c;
c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
return c;}

Complex operator*( Complex &c1, Complex &c2)
{return(c1.real*c2.real-c1.imag*c1.imag,c1.imag*c2.real+c1.real*c2.imag)

Class 关键字 应该都是小写 如 class
c3.display(0为c3.display();
这一句少个括号;

里面的引号不要用中文的“,要用英文的字符"
然后cout<<”c1/c2=”; 双引号要换成半角的"与”是有区别的.

Class 的c小写

class Complex

Class 关键字 应该都是小写 如 class

Complex operator*( Complex &c1, Complex &c2)
{return(c1.real*c2.real-c1.imag*c1.imag,c1.imag*c2.real+c1.real*c2.imag);}

这个函数返回值 和声明的类型不一至
声明的类型是Complex 返回的却是 double 的,应该改成
Complex operator * (Complex &c1, Complex &c2)
{return Complex(c1.real*c2.real-c1.imag*c1.imag,c1.imag*c2.real+c1.real*c2.imag);}

首先"Class"的关键字你写错了首字母"C"不能大写,应是"class"
然后cout<<”c1/c2=”; 双引号要换成半角的"与”是有区别的.

return 0;

main()中间多个了上面的语句