在C++中,访问权限控制符用于限制类成员的访问权限,主要包括public、private和protected三种。这些访问权限控制符用于控制类成员的访问级别,从而保证数据的封装性和安全性。
public访问权限表示类成员可以从任何地方被访问,包括类的外部和友元函数。在类的内部,可以直接访问public成员。
例如,下面的代码定义了一个名为Person的类,其中name和age成员变量被声明为public:
class Person {
public:
std::string name;
int age;
};
private访问权限表示类成员只能被类的成员函数和友元函数访问,不能从类的外部直接访问。在类的内部,可以直接访问private成员。
例如,下面的代码定义了一个名为Employee的类,其中salary成员变量被声明为private,只能被Employee类的成员函数访问:
class Employee {
private:
double salary;
public:
void setSalary(double salary) {
this->salary = salary;
}
double getSalary() const {
return salary;
}
};
protected访问权限表示类成员可以被类的成员函数、友元函数以及派生类访问。在类的内部,可以直接访问protected成员。
例如,下面的代码定义了一个名为Base的类,其中protected成员变量count只能被Base类的成员函数、友元函数以及派生类访问:
class Base {
protected:
int count;
public:
void increment() {
count++;
}
};
总结:C++中的访问权限控制符是实现封装和安全性的重要手段。通过合理地使用这些控制符,可以有效地保护类的内部实现细节,并控制对类成员的访问权限。