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