C++ public /protected/private
时间: 2023-09-17 21:12:28 浏览: 110
These are access modifiers used in object-oriented programming languages like C++ and Java to restrict the access to class members (variables and functions).
Public: Public members are accessible from any part of the program. They can be accessed by any function or class.
Protected: Protected members are accessible within the class and its subclasses (derived classes). They cannot be accessed from outside the class hierarchy.
Private: Private members are accessible only within the class. They cannot be accessed from outside the class.
The use of access modifiers helps in encapsulating the class data and functionality, and it provides control over the accessibility of class members.
相关问题
为什么使用public/protected继承而不是private继承
在C++中,继承分为public、protected和private三种方式。使用public继承意味着派生类对象可以被当作基类对象使用,而使用protected和private继承意味着派生类对象只能在派生类内部使用。
通常情况下,使用public和protected继承比private继承更为常见。下面是一些使用public/protected继承而不是private继承的原因:
1. 实现"是一个"关系:public和protected继承表示派生类是一个基类的特殊类型,具有相同的接口和行为,而private继承只是为了实现代码重用。
2. 代码重用:public和protected继承可以让派生类继承基类的成员变量和函数,使得派生类可以重用基类的代码。而private继承只是为了实现代码重用,派生类无法访问基类的成员变量和函数,只能通过基类的接口来访问。
3. 可扩展性:public和protected继承可以使得派生类扩展基类的功能,增加新的成员变量和函数,而private继承只是为了实现代码重用,不能对基类进行扩展。
综上所述,使用public和protected继承比private继承更加常见,因为public和protected继承可以实现"是一个"关系,支持代码重用和可扩展性。但是在某些特殊情况下,private继承也是有用的,例如实现某些设计模式时。
c++ public private protected区别
在C++中,public、private和protected是访问控制关键字,用于控制类的成员的访问权限。其中public表示公有的,可以被类的内部和外部访问;private表示私有的,只能被类的内部访问;protected表示受保护的,可以被类的内部和子类访问。这些关键字可以用于类的成员函数、数据成员、嵌套类等的声明中。
阅读全文