//先定義頭檔案Date.h
#ifndef DATE_H
#define DATE_H
class Date
{
private:
int day,month,year;
public:
void init(void);
void setdata(void);
void output(void);
};
#endif
//Date.cpp定義Date類中的函式
#include<iostream>
#include"Date.h"
using namespace std;
void Date::init(void)
{
day=1;month=1;year=2007;
}
void Date::setdata(void)
{
cin>>year>>month>>day;
}
void Date::output(void)
{
cout<<year<<"\t"<<month<<"\t"<<day<<"\t";
}
//定義頭檔案Person.h
#ifndef PERSON_H
#define PERSON_H
#include<iostream>
using namespace std;
#include"Date.h"
class Person
{
private:
char name[20],job[20],address[50];int age;
Date Birthday;
public:
void init1(Date p);
void setdata1(Date p);
void output1(void);
};
#endif
//Person.cpp定義Person類中的函式:
#include<iostream>
#include<cstring>
using namespace std;
#include"Person.h"
void Person::init1(Date p)
{
strcpy(name,"None");
strcpy(job,"None");
strcpy(address,"None");
age=0;
Birthday=p;
}
void Person::setdata1(Date p)
{
cin>>name>>job>>address>>age;
Birthday=p;
}
void Person::output1(void)
{
cout<<name<<"\t"<<age<<"\t"<<job<<"\t";
Birthday.output(void);
cout<<endl;
}
//主程式:
// 類的混合使用.cpp : 定義控制臺應用程式的入口點。
//
#include "stdafx.h"
#include<iostream>
#include"Date.h"
#include"Person.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Date p;
Person student;
p.init();student.init1(p);
student.output1();
p.setdata();student.setdata1(p);
student.output1();
return 0;
}
運行后提示:
類的混合使用.obj : error LNK2019: 無法決議的外部符號 "public: void __thiscall Person::setdata1(class Date)" (?setdata1@Person@@QAEXVDate@@@Z),該符號在函式 _wmain 中被參考
1>類的混合使用.obj : error LNK2019: 無法決議的外部符號 "public: void __thiscall Date::setdata(void)" (?setdata@Date@@QAEXXZ),該符號在函式 _wmain 中被參考
1>類的混合使用.obj : error LNK2019: 無法決議的外部符號 "public: void __thiscall Person::output1(void)" (?output1@Person@@QAEXXZ),該符號在函式 _wmain 中被參考
1>類的混合使用.obj : error LNK2019: 無法決議的外部符號 "public: void __thiscall Person::init1(class Date)" (?init1@Person@@QAEXVDate@@@Z),該符號在函式 _wmain 中被參考
1>類的混合使用.obj : error LNK2019: 無法決議的外部符號 "public: void __thiscall Date::init(void)" (?init@Date@@QAEXXZ),該符號在函式 _wmain 中被參考
1>C:\Users\Administrator\documents\visual studio 2010\Projects\類的混合使用\Debug\類的混合使用.exe : fatal error LNK1120: 5 個無法決議的外部命令
uj5u.com熱心網友回復:
Person這些的在每個頭檔案都定義一下,即類預宣告轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/146023.html
標籤:基礎類
