将数据放在私有类中是否理想? (C ++)

问题描述 投票:0回答:1

例如,我有这个课程:

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(...)之类的功能。但是,每次我要调用输入时,都需要创建一个新对象并浪费内存。

c++ class
1个回答
0
投票

如果使用此方法作为传递参数的方法,那确实很浪费,您应该考虑将传统的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(...);
© www.soinside.com 2019 - 2024. All rights reserved.