本文共 471 字,大约阅读时间需要 1 分钟。
关键字protected的作用,和关键字private的作用有一定相似。
①类外无法访问protected的成员(和私有部分类似);——对于类外方法,他就像私有成员一样
②类的派生类,可以访问protected成员(就像访问公有成员那样);——对于派生类方法,他就像公有成员一样
例如:
class Name{protected: string name; ...}class Man :public Name{ ...public: void show() { cout << name << endl; }}
这样是可以的。
而:
void reset(const Name&na){ name = na;}
由于reset ()不是Name的友元函数,因此是不能这样做的。
对成员函数来说,保护访问控制protected很有用,因为他可以让派生类直接访问数据成员,而不需要基类有返回private部分的方法。
但书上说,最好对类数据成员采用私有访问控制(private),不要使用保护访问控制;同时通过基类方法使派生类能够访问基类数据。
转载地址:http://bwrno.baihongyu.com/