首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++已知异常,拜求解决!多谢!

2012-11-07 
c++已知错误,拜求解决!!谢谢!!!复数加减代码如下:#includeiostreamusing namespace stdclass Complex{p

c++已知错误,拜求解决!!谢谢!!!
复数加减
代码如下:
#include<iostream>
using namespace std;
class Complex

public:
Complex( double c2);
void add(Complex &c);
Complex(Complex &c);

void show();

private: 
 double real;
 double image; 
}
 
Complex::Complex( double c2){
  real=c2;
  image=0;
  cout<<"构造函数被调用"<<endl;
  
 }

void Complex:: add(Complex &c)
{
real=real+c.real;
image=image+c.image;
}
 Complex::Complex(Complex &c)
{
real=c.real;
image=c.image;
cout<<"复制构造函数被调用"<<endl;

}
 
 void Complex::show()
 {
cout<<real<<"+"<<image<<"i"<<endl;
}


void main()
 {
Complex c1(3,5);
Complex c2=4.5;
c1.add(c2);
c1.show();
}



谢谢!!!

[解决办法]

C/C++ code
#include<iostream>using namespace std;class Complex{ public:Complex(double c1,double c2);Complex(double c2);void add(Complex &c);Complex(Complex &c);void show();private:  double real; double image; };Complex::Complex(double c1,double c2){  real=c1;  image=c2;  cout<<"构造函数被调用"<<endl;   } Complex::Complex( double c2){  real=c2;  image=0;  cout<<"构造函数被调用"<<endl;   }void Complex:: add(Complex &c){real=real+c.real;image=image+c.image;} Complex::Complex(Complex &c){real=c.real;image=c.image;cout<<"复制构造函数被调用"<<endl;}  void Complex::show() {cout<<real<<"+"<<image<<"i"<<endl;}int main(int argc, char* argv[]) {Complex c1(3,5);Complex c2(4.5);c1.add(c2);c1.show();return 0;}
[解决办法]
C/C++ code
#include<iostream>using namespace std;class Complex{  public:    Complex(double c1, double c2);    void add(Complex &c);    Complex(Complex &c);    void show();private:      double real;    double image;  };Complex::Complex( double c1, double c2){    real=c2;    image=c1;    cout<<"构造函数被调用"<<endl;}void Complex:: add(Complex &c){    real=real+c.real;    image=image+c.image;}Complex::Complex(Complex &c){    real=c.real;    image=c.image;    cout<<"复制构造函数被调用"<<endl;}void Complex::show(){    cout<<real<<"+"<<image<<"i"<<endl;}void main(){    Complex c1(3.0,5.0);    Complex c2(4.5, 0.0);    c1.add(c2);    c1.show();}
[解决办法]
#include<iostream>
using namespace std;
class Complex
{
public:
Complex( double c2);
void add(Complex &c);
Complex(Complex &c);

void show();

private:
 double real;
 double image;
}
 
Complex::Complex( double c2){
real=c2;
image=0;
cout<<"构造函数被调用"<<endl;
 
 }

void Complex:: add(Complex &c)
{
real=real+c.real;
image=image+c.image;
}
 Complex::Complex(Complex &c)
{
real=c.real;
image=c.image;
cout<<"复制构造函数被调用"<<endl;

}
  
 void Complex::show()
 {
cout<<real<<"+"<<image<<"i"<<endl;
}


void main()
 {
Complex c1(3,5); //这里应该只有一个参数,楼主的意思是不是3.5


Complex c2=4.5; //没有operator=(double)类型的函数
c1.add(c2);
c1.show();
}

热点排行