例如,我有这个课程:
struct bankingFunctionality
{
private:
class bankingData
{
public:
int phoneNum, citizenNum, age, ID;
string name, address;
bankingData* next = nullptr;
};
public:
void input(bankingData*);
void firstUser();
void update(bankingData*);
};
将数据类私有化以“保护”数据是否理想?因为唯一的方法,我可以想到如何访问它以进行输入和输出是在公共场所具有void input(...)之类的功能。但是,每次我要调用输入时,都需要创建一个新对象并浪费内存。
如果使用此方法作为传递参数的方法,那确实很浪费,您应该考虑将传统的getX()
和setX()
方法用于访问器和变异子。如果在每个结尾处都返回*this
,则可以使这些样式易于使用链式样式。
如:
class bankingData {
int phoneNum, citizenNum, age, ID;
string name, address;
bankingData* next = nullptr;
int getPhoneNum() const { return phoneNum; };
bankingData& setPhoneNum(int n) { phoneNum = n; return *this; };
const std::string& getName() const { return name; };
bankingData& setName(const std::string& n) { name = n; return *this; };
};
您可以在哪里做:
bankingData bd;
bd.setPhoneNum(111).setName(...);