您的位置:首页 > 编程语言 > C语言/C++

C++关于运算符重载的程序报错error…

2014-03-12 15:16 375 查看
错误信息如下:1>t2.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Date::Date(void)" (??0Date@@QAE@XZ),该符号在函数 "class Date __cdecl operator+(class Date const &,class Date const &)" (??H@YA?AVDate@@ABV0@0@Z) 中被引用1>C:\Users\Chengyao\Documents\Workspaces\Visual Studio 2012\Projects\Test11\Debug\Test12.exe : fatal error LNK1120: 1 个无法解析的外部命令代码如下:C/C++code?
1234567891011121314151617181920212223242526272829303132333435
#include
using
namespace
std;
class
Date{
int
m_y;
int
m_m;
int
m_d;
public
:
Date();
Date(
int
y,
int
m,
int
d){
m_y=y;
m_m=m;
m_d=d;
}
public
:
void
set(
int
y,
int
m,
int
d){
m_y=y;
m_m=m;
m_d=d;
}
friend
Date operator+(
const
Date& d1,
const
Date& d2){
Date d;
d.set(d1.m_y+d2.m_y,d1.m_m+d2.m_m,d1.m_d+d2.m_d);
return
d;
}
void
display(){
cout<<
"The date is:"
<<m_y<<
","
<<m_m<<
","
<<m_d<<endl;
}
};
int
main(){
Date d1(2009,11,10);
d1.display();
Date d2(1,1,1);
d2.display();
(d1+d2).display();
}
解决办法:
123
Date()
{
};
//改成这样
构造函数没有定义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: