C++のクラスのカプセル化はどのように実装されますか。
C++のクラスのカプセル化は、アクセス修飾子を使用して実現され、主にpublic、protected、privateの3種類が含まれます。その中で、public修飾子はクラスの公開メンバーを宣言するために使用され、クラスの外部からアクセスすることができます。private修飾子はクラスのプライベートメンバーを宣言するために使用され、クラスの内部からのみアクセスできます。protected修飾子はクラスの保護されたメンバーを宣言するために使用され、派生クラスからアクセスすることができます。
以下は、プライベート属性とパブリックメソッドを持つクラスを実装する方法を示す簡単な例です。
class Person {
private:
string name;
int age;
public:
Person(string n, int a) {
name = n;
age = a;
}
void setName(string n) {
name = n;
}
string getName() {
return name;
}
void setAge(int a) {
age = a;
}
int getAge() {
return age;
}
};
上記の例では、名前と年齢がプライベートプロパティとして宣言され、Personクラスの内部からのみアクセスできます。setName、getName、setAge、およびgetAgeはパブリックメソッドとして宣言され、外部からアクセスできます。これにより、クラスのプロパティをカプセル化して外部からはパブリックメソッドを介してのみアクセスし、データの安全性と完全性を確保することができます。