注册 登录
编程论坛 C++教室

我在c++执行时出现debug error

q236763612 发布于 2008-10-24 23:18, 795 次点击
我在c++执行时出现debug error
我在定义一个complex类时,执行任务时出现Debug  error
哪位高手能帮我解决一哈啊 !
1什么叫debug error.
2 怎么实现复数的加减啊 。
3下面这段程序有什么可改进之处没有。





#include<iostream>

using namespace std;
class  Complex
{
private:
    int real;
    int image;
public:
  Complex(int x=0,int y=0)
  {
      SetRI(x,y);
  }
  ~Complex()
  {
      SetRI(0,0);}
  void SetRI(int a, int b)
  {
      real=a;
      image=b;}
  Complex ( const Complex &s)
  {
      real=s.real ;
      image=s.image ;
  }
Complex & operator=(const Complex & rhs)
{
    real=rhs.real ;
    image=rhs.image ;
        return *this;}
int GetReal()
const{return real;}
int GetImage()
const{return image;}
void print()
{int i ;
cout<<real<<"+"<<image*i<<endl;}
};
int main ()
{
    Complex t1 ,t2;
    t1.SetRI(1,2);
    t2=t1;
    Complex t3=t2;
   
    t3.print();

}
4 回复
#2
tfg01162008-10-25 10:14
#include<iostream>

using namespace std;
class  Complex
{
private:
    int real;
    int image;
public:
  Complex(int x=0,int y=0)
  {
      SetRI(x,y);
  }
  ~Complex()
  {
      SetRI(0,0);}
  void SetRI(int a, int b)
  {
      real=a;
      image=b;}
  Complex ( const Complex &s)
  {
      real=s.real ;
      image=s.image ;
  }
Complex & operator=(const Complex & rhs)
{
    real=rhs.real ;
    image=rhs.image ;
        return *this;}
int GetReal()
const{return real;}
int GetImage()
const{return image;}
void print()
{int i ;
cout<<real<<"+"<<image*i<<endl;}//这条语句有错误,你原想输出为1+2*i,但你定义i为整型并且没有初始化并且还让image乘i,结果肯定和预想的不一样了,我觉得应该为cout<<real<<"+"<<image<<"*i"<<endl;

};
int main ()
{
    Complex t1 ,t2;
    t1.SetRI(1,2);
    t2=t1;
    Complex t3=t2;
   
    t3.print();

}
#3
q2367636122008-10-25 17:58
xiexie
谢谢  我在试试!
#4
lyshyhuangli2008-10-27 11:00
学习了
1