在C++中,封裝是一種將數據(屬性)和操作數據的方法(函數)組合在一起的編程技術。這樣可以隱藏對象的內部實現細節,只暴露出有限的接口供外部訪問。為了實現封裝,我們可以使用類(class)來定義一個對象,并將數據成員和成員函數放在類中。
以下是一個簡單的示例,展示了如何使用C++實現封裝:
#include <iostream>
#include <string>
class MyClass {
private:
std::string myData; // 私有數據成員
public:
// 構造函數
MyClass(const std::string& data) : myData(data) {}
// 公共成員函數(getter)
std::string getData() const {
return myData;
}
// 公共成員函數(setter)
void setData(const std::string& data) {
myData = data;
}
};
int main() {
MyClass obj("Hello, World!");
// 使用getter獲取數據
std::cout << "Data: " << obj.getData() << std::endl;
// 使用setter設置新數據
obj.setData("New Data");
std::cout << "Updated Data: " << obj.getData() << std::endl;
return 0;
}
在這個示例中,我們定義了一個名為MyClass
的類,其中包含一個私有數據成員myData
。我們還提供了兩個公共成員函數:getData()
用于獲取數據,setData()
用于設置數據。這樣,我們可以確保外部代碼只能通過這些公共接口訪問和修改myData
,而不能直接訪問其內部實現。這有助于保護數據的完整性和安全性。