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

错误信息如下:
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: 个无法解析的外部命令

代码如下:
C/C++ code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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();
}

解决办法:
1
2
3
Date()
{
}; //改成这样
构造函数没有定义。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值