C++ protected vs. Java protected
C++与Java均支持protected关键字用于访问控制,但其作用与意义不尽相同,试作简单比较。
同:
修饰类成员(member/field)时,表示该成员可被继承类访问;
异:
修饰类成员时:
C++中该成员可被成员所属类的friend类访问;
Java中该成员可被同一个package中其他类访问;
C++可用于继承本身,如:
class D : protected B {};
此时,类B中的publict和protected成员自动成为类D中的protected成员。Java中无此用法。