下午好!
很抱歉,如果问题看起来很模糊,但这里有一些(不完整的)代码用于某些上下文。具体来说,这是关于“UserInfo inputInfo”定义部分,如实现文件中的UserInfo :: setUserInfo()和UserInfo :: displayProfile()函数所示。
project02.cpp(实施文件)
-O1
project02.h(头文件)
#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;
}
project02main.cpp(主文件)
#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
现在的问题是:是否可以选择重复定义对象“UserInfo inputInfo;”每次在实现文件中有不同的功能吗?
答案 0 :(得分:1)
此时不要在该数据类型的方法中创建相同数据类型的对象 - 只需调用setFirstname()和getFirstname()以使用将修改您当前使用的同一对象的方法。