C++的技术问题

cndnc9m 2008-10-23 05:05:04
这是C++的一个程序,在编译的时候会出错,帮我看一下怎么改
#include<iostream.h>
class Number
{
public :
Number() throw();
~Number() throw();
Number(const Number& n) throw();
Number& operator=(const Number&n) throw();
Number& operator++() throw();
Number operator++ (int) throw();
};
Number::Number() throw()
{}
Number::~Number() throw()
{
cout<<”dtor”;
}
Number::Number(const Number& n) throw() //产生Number的两个拷贝
{
cout<<”copy”;
}
Number& Number::operator=(const Number& n) throw()
{
cout<<”assign”; return *this;
}
Number& Number::operator=(const Number& n) throw()
{
cout<<”increament”; return *this;
}
Number Number::operator++ (int) throw()
{
Number old=*this;
++(*this);
return old; //返回局部变量old
}
int main()
{
Number n;
cout<<”++n: “; ++n;cout<<’\n’;
cout<<” n++: “; n++;cout<<’\n’;
}
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzr4304061988012 2008-10-23
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
class Number
{
public :
Number() throw();
~Number() throw();
Number(const Number& n) throw();
Number& operator=(const Number&n) throw();
Number& operator++() throw();
Number operator++ (int) throw();
};
Number::Number() throw()
{}
Number::~Number() throw()
{
cout <<"dtor";
}
Number::Number(const Number& n) throw() //产生Number的两个拷贝
{
cout <<"copy";
}
/*Number& Number::operator=(const Number& n) throw()
{
cout <<"assign"; return *this;
} */
Number& Number::operator=(const Number& n) throw()
{
cout <<"increament"; return *this;
}
Number & Number::operator++ () throw()
{
cout<<"++Number"<<endl;
return *this;
}
Number Number::operator++ (int) throw()
{
Number old=*this;
++(*this);
return old; //返回局部变量old
}
int main()
{
Number n;
cout <<"++n: ";
++n;
cout <<'\n';
cout <<" n++: ";
n++;
cout <<'\n';
}


lzr4304061988012 2008-10-23
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
class Number
{
public :
Number() throw();
~Number() throw();
Number(const Number& n) throw();
Number& operator=(const Number&n) throw();
Number& operator++() throw();
Number operator++ (int) throw();
};
Number::Number() throw()
{}
Number::~Number() throw()
{
cout <<"dtor";
}
Number::Number(const Number& n) throw() //产生Number的两个拷贝
{
cout <<"copy";
}
/*Number& Number::operator=(const Number& n) throw() //这个重复了;
{
cout <<"assign"; return *this;
} */
Number& Number::operator=(const Number& n) throw()
{
cout <<"increament"; return *this;
}
Number & Number::operator++ () throw() //这个未定义;
{
cout<<"++Number"<<endl;
return *this;
}
Number Number::operator++ (int) throw()
{
Number old=*this;
++(*this);
return old; //返回局部变量old
}
int main()
{
Number n;
/*cout <<"++n: ";
++n;*/
cout <<'\n';
cout <<" n++: ";
n++;
cout <<'\n';
}

JJZHK 2008-10-23
  • 打赏
  • 举报
回复
Number::operator=
重复实现,为什么要有两个Number::operator=实现?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧