C++中的数据封装是通过类和对象实现的。在C++中,可以使用访问控制修饰符(public、private、protected)来控制类中的数据成员的访问权限。一般来说,数据成员应该设置为私有(private),只能通过公共成员函数(public member functions)来访问和修改数据成员的值,从而实现数据封装。
下面是一个简单的示例,展示了如何在C++中实现数据封装:
#include <iostream>
class Person {
private:
std::string name;
int age;
public:
void setName(std::string n) {
name = n;
}
std::string getName() {
return name;
}
void setAge(int a) {
if(a < 0) {
std::cout << "Invalid age input" << std::endl;
return;
}
age = a;
}
int getAge() {
return age;
}
};
int main() {
Person p;
p.setName("Alice");
p.setAge(25);
std::cout << "Name: " << p.getName() << std::endl;
std::cout << "Age: " << p.getAge() << std::endl;
return 0;
}
在上面的示例中,我们定义了一个包含私有数据成员name和age的Person类。我们使用公共成员函数setName和getName来访问和修改name数据成员,使用setAge和getAge来访问和修改age数据成员。这种方式可以确保数据成员只能通过类的公共接口来访问和修改,从而实现数据封装。