温馨提示×

能否用C++的set和get实现数据封装

c++
小樊
86
2024-09-25 01:36:13
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

当然可以。在C++中,我们可以使用setget方法来实现数据封装,保护类的内部数据不被外部直接访问。以下是一个简单的示例:

#include <iostream>
#include <set>
#include <string>

class DataWrapper {
private:
    std::set<std::string> data;

public:
    // 添加数据到set中
    void addData(const std::string& data) {
        this->data.insert(data);
    }

    // 从set中获取数据
    std::string getData(const std::string& key) const {
        auto it = data.find(key);
        if (it != data.end()) {
            return *it;
        } else {
            return ""; // 如果找不到数据,返回空字符串
        }
    }
};

int main() {
    DataWrapper dw;
    dw.addData("Hello");
    dw.addData("World");

    std::cout << "Data: " << dw.getData("Hello") << std::endl;
    std::cout << "Data: " << dw.getData("World") << std::endl;
    std::cout << "Data: " << dw.getData("Not exist") << std::endl;

    return 0;
}

在这个示例中,我们创建了一个名为DataWrapper的类,它包含一个std::set<std::string>类型的私有成员变量data。我们提供了两个公共成员函数addDatagetData,分别用于向data中添加数据和从data中获取数据。这样,我们就可以保护类的内部数据不被外部直接访问,实现了数据封装。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:能否用C++的set和get实现属性的动态绑定

0