c++类中public和private,protected有什么区别
时间: 2023-09-21 16:03:17 浏览: 80
在C++中,public、private和protected是类成员访问修饰符,它们的作用是控制类成员的访问权限。
public成员可以被类的任何成员函数、友元函数、派生类和外部代码访问,而private成员只能被类的成员函数和友元函数访问,无法被派生类和外部代码访问。protected成员和private成员类似,但可以被派生类访问。
因此,public成员表示对外可见,可以被外部调用;private成员表示对外不可见,只能被类内部的函数访问;protected成员表示对外不可见,但可以被派生类访问。
举个例子,假设我们有一个名为Person的类,该类有两个private成员变量name和age,以及一个public成员函数printInfo,代码如下:
```
class Person {
private:
string name;
int age;
public:
void printInfo() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
}
};
```
在这个例子中,name和age是private成员变量,只能在类内部访问。而printInfo是public成员函数,可以被外部代码调用来输出name和age的值。
总之,public、private和protected关键字在C++中用于控制类成员的访问权限,可以保证程序的安全性和封装性。
相关问题
C++public、protected和private的区别
在C++中,public、protected和private是用来定义类的成员的访问权限的关键字。
1. public:
- 公有成员可以在类的内部和外部访问。
- 公有成员可以被类的对象、派生类和非成员函数访问。
- 公有成员对外部是可见的,可以直接访问。
2. protected:
- 受保护成员可以在类的内部访问,但在类的外部不可直接访问。
- 受保护成员可以被类的对象和派生类访问。
- 受保护成员对外部是不可见的,但对派生类是可见的。
3. private:
- 私有成员只能在类的内部访问,对外部和派生类都不可直接访问。
- 私有成员只能被类的对象访问。
- 私有成员对外部和派生类都是不可见的。
这些访问权限限制可以帮助控制类的封装性,保护数据的安全性,并提供更好的代码可维护性。根据需要,我们可以根据具体情况选择适当的访问权限。
c++ public private protected区别
在C++中,public、private和protected是访问控制关键字,用于控制类的成员的访问权限。其中public表示公有的,可以被类的内部和外部访问;private表示私有的,只能被类的内部访问;protected表示受保护的,可以被类的内部和子类访问。这些关键字可以用于类的成员函数、数据成员、嵌套类等的声明中。