下午好!C++重複類類型的定義?
對不起,如果問題看起來比較模糊,但這裏有一些(不完整)代碼的某些上下文。具體來說,這是關於實現文件中的UserInfo :: setUserInfo()和UserInfo :: displayProfile()函數中看到的「UserInfo inputInfo」定義部分。
project02.cpp(執行文件)
#include <iostream>
#include "project02.h"
using namespace std;
void UserInfo::setUserInfo()
{
UserInfo inputInfo;
string fName;
string lName;
int bYear;
string city;
string occupation;
cout << "Please enter your first name: ";
cin >> fName;
inputInfo.setFirstName(fName);
cout << "Please enter your last name: ";
cin >> lName;
inputInfo.setLastName(lName);
cout << "You are now registered as: " << inputInfo.getFirstName() << " " << inputInfo.getLastName();
}
void UserInfo::displayProfile()
{
UserInfo inputInfo;
cout << "Profile Information:" << endl;
cout << "Name: " << inputInfo.getFirstName() << " " << inputInfo.getLastName();
}
void UserInfo::setFirstName(string fName)
{
_firstName = fName;
}
string UserInfo::getFirstName()
{
return _firstName;
}
void UserInfo::setLastName(string lName)
{
_lastName = lName;
}
string UserInfo::getLastName()
{
return _lastName;
}
project02.h(頭文件)
#ifndef PROJECT02_H
#define PROJECT02_H
using namespace std;
class UserInfo
{
public:
string getFirstName();
void setFirstName(string first);
string getLastName();
void setLastName(string last);
int getBirthYear();
void setBirthYear(int year);
string getCurrentCity();
void setCurrentCity(string city);
string getOccupation();
void setOccupation(string occ);
void setUserInfo();
void displayProfile();
private:
string _firstName;
string _lastName;
int _birthYear;
string _currentCity;
string _occupation;
};
#endif // PROJECT02_H
project02main.cpp(主文件)
#include <iostream>
#include "project02.h"
using namespace std;
int main()
{
UserInfo inputInfo;
inputInfo.setUserInfo();
return 0;
}
現在的問題是:是否有反覆定義對象「UserInfo inputInfo;」的替代方法每次在實現文件中使用不同的函數?
我不明白。你想在哪裏「重新定義」它? –
對不起,我編輯了這個帖子,使其更加清晰。我的意思是說「反覆定義」,就像你看到我爲兩種功能做過一次一樣。 – BaloneyOs
爲什麼你不只是傳遞userinfo作爲參數? – KostasRim