zoukankan      html  css  js  c++  java
  • [原]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:UsersChengyaoDocumentsWorkspacesVisual Studio 2012ProjectsTest11DebugTest12.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()
    {
    };//改成这样
    构造函数没有定义。
    作者:gcy77 发表于2014-3-12 15:16:26 原文链接
    阅读:68 评论:0 查看评论
  • 相关阅读:
    Linux内核使用的GNUC扩展
    linux常用命令--开发调试篇
    代码示例_poll的多路复用
    硬件_红外传感器
    硬件_霍尔感应器
    全志_功能引脚配置_sys_config.fex
    知识_嵌入式常用词汇
    代码示例_Input 按键驱动
    Vmware_安装_tools
    Ubunt_配置_start
  • 原文地址:https://www.cnblogs.com/gcy77/p/4082493.html
Copyright © 2011-2022 走看看