public,protected,private
来源:互联网 发布:苏州经济数据 编辑:程序博客网 时间:2024/06/01 13:54
一、public,protected,private
(1)public:公有成员/继承.类外可以直接访问(对象可以访问类的公有成员)。
(2)protected:保护成员/继承
protected成员的特点:对其所在对象来说(水平访问时),它与private成员的性质相同,即对象不能不能访问;对于其派生类来说(垂直访问时),它与public成员性质相同,允许访问。
//main.cpp======================
//测试protected属性的使用
#include<iostream>
using namespace std;
//类的定义=======================
class A {
protected :
int i;
};
class B:public A{
public:
int fun();
};
//类的实现=================
int B::fun(){
i=100;//对于其派生类来说(垂直访问时),它与public成员性质相同,允许访问
return i;
}
//主函数========================
int main(){
A a;
//a.i=100;错,对其所在对象来说(水平访问时),它与private成员的性质相同,即对象不能不能访问
B b;
cout<<b.fun()<<endl;
//b.i;错
cout<<sizeof(b)<<endl;
}
(3)private:私有成员/继承。类外不可以直接访问(对象不可以访问类的公有成员),但类的成员函数可以访问。
二、public,protected,private在继承方式上的作用
1.继承:保持已有类的特性而构造新类的过程。目的:实现代码重用。
派生:在已有类的基础上新增自己的特性而产生新类的过程。
2. class 派生类名:继承方式 基类名{
成员声明;
};
3.不同继承方式的影响主要体现在:
(1)派生类成员对基类成员的访问控制.(2)派生类对象对基类成员的访问控制。
4.public继承:基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可访问。派生类的成员可以直接访问基类中的public和protected成员,但不能访问基类的private成员。通过派生类的对象只能访问基类的public对象。
private继承:基类的public和protected成员都以private出现在派生类中,但基类的private成员不可访问。派生类的成员可以直接访问基类中的public和protected成员,但不能访问基类的private成员。通过派生类的对象不能访问基类任何成员。
protected继承:基类的public和protected成员都以protected出现在派生类中,但基类的private成员不可访问。派生类的成员可以直接访问基类中的public和protected成员,但不能访问基类的private成员。通过派生类的对象不能访问基类任何成员。
- private public protected
- public, protected, private,
- public,private protected
- 关于public,protected,private
- public protected private区别
- public / protected / private / virtual
- private、protected、public........
- public private protected 区别
- public,private,protected 区别
- C++ public protected private
- public,private,protected
- private public protected 范围
- public protected private
- public,protected,private
- private,protected,public,internal
- private,protected,public,internal
- public private protected
- public,protected,private,static
- 错误解决:无法在web服务器上启动调试。调试失败,因为没有启用集成window身份验证.
- 如何通过字符串指定的窗口名称,获取该窗口内的控件
- spring中获取datasource
- Android的framework层是如何对铃声的音量进行调整的
- oracle中去掉文本中的换行符、回车符、制表符小结
- public,protected,private
- spring配置 no matching editors or conversion strategy found 异常解决方案
- Rococo terminator ( 有过很多考虑,很多取舍,目前维持这种状态)
- 卓越软件测试质量体系最佳实践
- 基于角色-功能-资源的权限控制模型的设计与实现
- Android滑动手势侦测方法
- 三星D508,E258,D608用蓝牙传JAVA游戏的方法已经掌握~有弄不明白的朋友可以问我,愿意效劳~
- Python 入门(1)——安装和hello world
- 职业转向