XXXDlg.obj : error LNK2005: "public: __thiscall Student::Student(void)" (??0Student@@QAE@XZ) already defined in 系统.obj
XXXXX.obj : error LNK2001: unresolved external symbol "public: __thiscall Student::~Student(void)" (??1Student@@QAE@XZ)
XXXDlg.obj : error LNK2001: unresolved external symbol "public: __thiscall Student::~Student(void)" (??1Student@@QAE@XZ)
Debug/XXX.exe : fatal error LNK1120: 1 unresolved externals
----------------------------------------------
可能与我添加的这个Student.h文件有关,我是手工添加的 书上说选择项目|添加新类命令 ,类别为“C++”系统自动生成类和对应文件  可我只添加了个.h文件
class Student
{
public:
CString m_strName;
CString m_strNo;
CString m_strClassName;
Student(void);
~Student(void);
};
Student::Student(void)
{
    m_strName=_T("");
 m_strNo=_T("");
 m_strClassName=_T("");
}

解决方案 »

  1.   

    除非必要不要在头文件中定义函数。将这个
    Student::Student(void)
    {
    m_strName=_T("");
    m_strNo=_T("");
    m_strClassName=_T("");
    }
    移走。
      

  2.   

    前面加#pragma once或者
    #ifndef 
    #define
    ...
    #endif
    加预编译指令,防止头文件重复包含
      

  3.   

    类成员函数的实现不要放在.h文件中,因为.h会被不同的cpp包含,所以出现Student多次定义,要放在cpp中。
      

  4.   

    .cpp文件的代码应该怎样写呢?