一:private,public,protected的访问范围:
Public:public中声明的变量可以被该类的函数、友元函数、子类函数以及该类的对象访问。
Protecd: protected中声明的变量可以被该类的函数、友元函数、子类函数访问,不能被该类的对象访问。将上述代码中data的权限由public换成protected,则该类对象报错。
注释掉报错的那一行,代码如下:
Private:private中声明的变量可以被该类的函数、友元函数访问,不能被该类的对象和子类函数访问。将上述代码中data的权限由protected换成private,则子类函数会报错,如图:
注释掉子类函数相关的代码后,如图:
二:类的继承后访问属性变化
使用public继承时,派生类内部可以访问基类中public和protected成员,但是类外只能通过派生类的对象访问基类的public成员。
使用protected继承时,派生类内部可以访问基类中public和protected成员,并且类外也不能通过派生类的对象访问基类的成员。
使用private继承时,派生类内部可以访问基类中public和protected成员,并且类外也不能通过派生类的对象访问基类的成员。
浅谈public、protected、private
最新推荐文章于 2024-07-18 11:16:11 发布