继承修饰符public、private、protected
来源:互联网 发布:informix数据导入 编辑:程序博客网 时间:2024/05/16 14:14
1. private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。
2. protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。
3. public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
4. 注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员 函数。
另外:类的继承后方法属性变化。
5. private 属性不能够被继承。使用private继承,父类的protected和public属性在子类中变为private;
6. 使用protected继承,父类的protected和public属性在子类中变为protected;
7. 使用public继承,父类中的protected和public属性不发生改变;
8. 如下所示:
public: protected: private:public继承 public protected不可用 protected继承 protected protected 不可用 private继承 private private 不可用12. protected继承和private继承能降低访问权限。
而在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,private继承是最少见的继承关系。
1. public
public继承是一种接口继承,根据面向对象中的关系而言就是,派生类可以代替基类完成基类接口所声明的行为.
从语法角度上来说,public继承会保留基类中成员(包括函数和变量等)的可见性不变,也就是说,基类的public成员为派生类的public成员,基类的protected成员为派生类的protected成员。
2. protected
从语义角度上来说,protected继承是一种实现继承。
从语法角度上来说,protected继承会将基类中的public可见性的成员修改成为protected可见性,相当于在派生类中引入了protected成员,这样一来在派生类中同样还是可以调用基类的protected和public成员,派生类的派生类就也可以调用被protected继承的基类的protected和public成员。
例如:
class CSample1 {protected: void printProtected() {}public:void printPublic() {}};class CSample2 : protected CSample1 {};class CSample3 : public CSample2 { void print3() { printProtected(); printPublic();}};3. private
从语义角度上来说,private继承是一种实现继承,private继承会将基类中的public和protected可见性的成员修改成为private可见性,这样一来虽然派生类中同样还是可以调用基类的protected和public成员,但是在派生类的派生类就不可以再调用被private继承的基类的成员了。
class CSample1 {protected: void printProtected() {}public: void printPublic() {}};class CSample2 : private CSample1 {};class CSample3 : public CSample2 { void print3() { printProtected(); // 编译错误,不可以调用该函数 printPublic(); // 编译错误,不可以调用该函数 }};
- 继承修饰符public、private、protected
- 继承与访问修饰符public, protected, private
- 访问修饰符public,protected,internal,private
- 访问控制修饰符public, protected, private
- 访问修饰符public,protected,internal,private
- public/private/internal/protected访问修饰符
- 权限修饰符--public、protected、friendly、private
- JAVA权限修饰符(public/protected/private)
- Java:public、private、protected修饰符
- java中public protected private修饰符
- 访问修饰符 :public: internal:protected: private:
- 权限访问修饰符public,protected,private
- private、protected、public权限修饰符详解
- 权限访问修饰符public,protected,private
- public, private, protected访问修饰符
- Java访问修饰符 public private protected
- php中的修饰符public,protected,private
- java 修饰符public protected default private
- AS3之NetStatusEvent参考
- Jsp学习之 自定义标签
- 现代浏览器的工作原理
- 那些年,我们一起喜欢的诺基亚
- Android.mk高级写法
- 继承修饰符public、private、protected
- 《tiny6410裸机程序》第五章:汇编与C混合编程-LED跑马灯最终说明、myled再次精简
- 杭电ACM 2015 偶数求和
- Virtual process memory
- Android Dimension 尺寸
- 在迷茫中死去,闭关!从此不再CSDN发表博客,封号!
- linux下用脚本改变文件某一行的内容
- c 语言输入
- ubuntu+apache2+php5+mysql5.5的安装