c++类的定义及类成员的访问控制
时间:2019-09-15
本文章向大家介绍c++类的定义及类成员的访问控制,主要包括c++类的定义及类成员的访问控制使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
类的定义
在c++中,类的定义方法如下
class 类名{
访问范围说明符: 成员变量1 成员变量2 成员函数声明1 成员函数声明2 访问范围说明符: 更多成员变量 更多成员函数声明 ... };
类的定义要以;
结束。
类的基本思想是数据抽象和封装。数据抽象是一种把接口和实现分离的编程技术。类的接口包括用户所能够执行的操作,类的实现包括类的数据成员、负责接口实现的函数体和各种私有函数。
封装实现了类的接口和实现的分离。封装隐藏了类的实现,封装过后,用户只能访问类的接口,而不能访问类的实现。
类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整体。例如一个日常生活时间类,时间对象有两个属性,小时和分钟,根据需要应该能够对每个日常事务所花的时间进行操作和显示。操作和显示就需要类的接口函数。
一般的类由两部分组成:
封装实现了类的接口和实现的分离。封装隐藏了类的实现,封装过后,用户只能访问类的接口,而不能访问类的实现。
类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整体。例如一个日常生活时间类,时间对象有两个属性,小时和分钟,根据需要应该能够对每个日常事务所花的时间进行操作和显示。操作和显示就需要类的接口函数。
一般的类由两部分组成:
1.类声明:以数据成员的方式描述数据部分,以成员函数(被称为方法)的方式描述接口函数。
2.类方法定义:描述如何实现类成员函数。
2.类方法定义:描述如何实现类成员函数。
简单地说,类声明给出了类的框架,而方法定义给出了类的细节。
类成员的访问控制
在定义一个类时可以规定外界对其成员的访问权限,访问权限的含义如下:
(1)public(公有的):公有成员可被与该类对象处在同一作用域内的任何函数访问。
(2)private(私有的):私有成员只能被类中的成员函数及该类的友元函数访问。
(3)protected(保护的):保护成员只能被类中成员或其派生类的成员函数或该类的友元函数访问。
#include <iostream> using namespace std; class Time{ private: int day; int month; int get_numbers; public: Time(); //默认构造函数 Time(int h, int m = 0); //显式构造函数 Time(const Time &); //拷贝构造函数 ~Time(); //析构函数 //------展示函数show() //在const函数中不可调用非const函数成员 void Time::show() const { cout << "month:" << month<< " " << "day:" << day<< " "<<endl; } };
注: 类的成员默认是私有的,而结构体成员则默认是公有的
成员函数定义的时候,也可以将函数的实现写进类声明的头文件中,但是一定要添加inline关键字。如果不让函数成为内联函数,当头文件被多个源文件引用时,会出现重定义。(inline函数是需要编译器在遇到它的地方根据它的定义把它内联展开的,而并非是普通函数那样可以先声明再链接的,内联函数并不会参与链接,所以编译器就需要在编译时看到内联函数的完整定义才行。C++规定,内联函数可以在程序中定义多次,只要内联函数的定义在一个.cpp文件中只出现一次,并且在所有的.cpp文件中,这个内联函数的定义是一样的,就能通过编译。)
原文地址:https://www.cnblogs.com/yansama/p/11522564.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用SurfaceView实现视频弹幕
- 01 CentOS 7.6 切换系统语言
- Android双重SurfaceView实现弹幕效果
- SurfaceView播放视频发送弹幕并实现滚动歌词
- RecyclerView实现流式标签单选多选功能
- Android中AlertDialog四种对话框的最科学编写用法(实例代码)
- Android判断手机是否联网及自动跳转功能(收藏版)
- 使用Flutter实现一个走马灯布局的示例代码
- Android按钮美化样式的实现代码
- android自定义组件实现仪表计数盘
- Android10填坑适配指南(实际经验代码)
- Android中外接键盘的检测的实现
- Android Q适配之IMEI替换为Android_id
- Android实现折线走势图
- Android Selector 按下修改背景和文本颜色的实现代码