C++——类访问修饰符
类访问修饰符
数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符。
共有成员(public)
公有成员在程序中类的外部是可访问的。可以不使用任何成员函数来设置和获取公有变量的值
#include <iostream>using namespace std ;class Box
{
public :int Lenth ;int Width ;int Height ;void SetLenth(int len);int GetLenth(void);
};int Box::GetLenth(void)
{return Lenth ;
}void Box::SetLenth(int len)
{Lenth = len ;
}void main()
{// 使用成员函数Box box ;box.SetLenth(2);cout << "Lenth is " <<box.GetLenth()<< endl;// 不使用成员函数box.Lenth = 4 ;cout << "Lenth is " << box.Lenth << endl ;
}/* 运行结果
Lenth is 2
Lenth is 4
*/
私有成员(private)
私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。
#include <iostream>using namespace std ;class Box
{
public :void SetLenth(int len);int GetLenth(void);
private:int Lenth ;int Width ;int Height ;
};int Box::GetLenth(void)
{return Lenth ;
}void Box::SetLenth(int len)
{Lenth = len ;
}void main()
{// 使用成员函数Box box ;box.SetLenth(2);cout << "Lenth is " <<box.GetLenth()<< endl;// 不使用成员函数,编译出错。 因为Lenth 是私有的。不能在类的外部直接访问
// box.Lenth = 4 ;
// cout << "Lenth is " << box.Lenth << endl ;
}
保护成员(protected)
保护成员变量或函数与私有成员十分相似,但有一点不同,保护成员在派生类(即子类)中是可访问的。
#include <iostream>using namespace std ;class Box
{
public :void SetLenth(int len);int GetLenth(void);
private:int Width ;int Height ;
protected:int Lenth ;
};class SmallBox:Box // SmallBox 是派生类
{
public :void SetSmallLenth(int len);int GetSmallLenth(void);
};// 子类的成员函数 可以 直接访问父类的受保护变量
int SmallBox::GetSmallLenth(void)
{return Lenth ;
}void SmallBox::SetSmallLenth(int len)
{Lenth = len ;
}void main()
{SmallBox box ;box.SetSmallLenth(5); cout << "Lenth is " << box.GetSmallLenth() << endl ;
}
C++——类访问修饰符相关推荐
- C++:类访问修饰符
C++ 类访问修饰符 类成员的访问限制是通过在类主体内部对各个区域标记 public.private.protected 来指定的. 关键字 public.private.protected 称为访问 ...
- 类和对象编程(二):类访问修饰符
C++ 类访问修饰符 数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员.类成员的访问限制是通过在类主体内部对各个区域标记 public.private.protected 来指 ...
- 关于C#中的类访问修饰符
转载于:https://www.cnblogs.com/lizunicon/archive/2008/04/28/1174838.html
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- 第九天2017/04/18(2、类的继承、面试题:继承访问修饰符、组合、static、构造、多态)
继承:可以使用原来的代码,代码复用 多态:代码复用.接口复用,用基类的指针"根据对象"调用"指定对象的函数". 1.继承.访问修饰符//C++类成员的3种访问级 ...
- 基本语法及基本概念概述(标识符、访问修饰符、变量、数组、枚举、注释、空行、继承、接口、(对象、类、方法、实例变量)、关键字表)
文章目录 1.标识符 2.标识符命名规范 3.访问修饰符 4.变量 5.数组 6. 枚举 7.注释 8.空行 9.继承 10.接口 11.对象.类.方法.实例 12.关键字表 13.保留字(reser ...
- 【小白学习C++ 教程】十一、C++类中访问修饰符
@Author:Runsen 类是面向对象编程.它是一种用户定义的数据类型,它拥有自己的数据成员和成员函数,可以通过创建该类的实例来访问和使用它们. 一个对象是一个类的实例.定义类时,不会分配内存,但 ...
- JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)
运行第一个JAVA程序: 这里使用的开发环境是eclipse,新建一个java工程,然后可以看到src这个是存放java代码的地方,然后在src文件右击新建一个class(类),然后可以看到下图,同样 ...
- [转载] 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围
参考链接: Java中的访问修饰符 * 问题:说说Java中接口.类.成员变量.成员方法.构造方法有哪些访问修饰符和他们的作用范围 * 答:接口的访问修饰符只有public 1个 * 类的访问修 ...
最新文章
- next_permutation(,)用法
- python读法1002python读法-Python教程之绘制Mandelbrot集合
- 5800对于存储卡密码设置问题
- 【PAT乙级】1042 字符统计 (20 分)
- 一个自定义类型的运算符重载的例子
- java 监听文件内容_java 监听文件内容变化
- 服务器安装系统教程进光盘界面,iso光盘系统怎么安装系统教程
- 专科python应届生工资多少-请问学过一点python,应届生怎么找工作?
- ADB工具包下载及安装
- AccessControl专业智能门禁管理系统 操作说明书
- phpstudy、Apache安装DVWA教程
- DELL 灵越系列笔记本 1427 更换显示屏
- 分论坛介绍:机器学习、企业数据中台、实验科学与因果推断
- Pandas数据分析与处理补充习题
- 约瑟夫生死者游戏_独立游戏从死者特许经营中夺冠时,游戏玩家获胜
- 白墙挂什么画 超美的6款白墙挂画选择推荐
- python(2): If/for/函数/try异常/调试/格式输出%
- Genlovy_Hoo大神的杰作
- css加载中lodding遮罩动画
- 打包docker镜像推送到远程服务器并部署到k8s
热门文章
- phpstrtotime()对于31日求上个月有问题
- EDM营销的三个小窍门-EDM营销必看
- Android驱动中的Kconfig文件与Makefile文件
- java线程池饱和策略_线程池的饱和策略-调用者执行 | 学步园
- 大数据可视化html模板开源_5个最受工程师欢迎的大数据可视化工具
- MySQL:Innodb DB_ROLL_PTR指针解析
- 【剑指offer】反转链表,C++实现(链表)
- c# 使用TCP连接(server)
- VI和VIM编辑器深入学习笔记--基本vi命令
- 请大家访问另一个我的博客!