| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> c++学习(5):数据的共享与保护 -> 正文阅读 |
|
[C++知识库]c++学习(5):数据的共享与保护 |
面向对象中类是程序基本单元,分为类内和类外数据共享和保护 1、类的静态成员1.1、类静态成员概述有时我们可能希望有某一个或几个数据成员为同一个类的所有对象共有,也就是实现数据共享 静态成员提供一种同类对象对数据的共享机制 静态成员分为: 静态数据成员是类的属性,这个属性不属于类的任何对象,但所有的对象都可以访问和使用它 如果将类的一个成员定义成静态型的,则该类的所有对象的该成员共用同一存储空间。 ?1.2、静态数据成员的初始化?1.3、例子每定义一个对象 执行一次构造函数;count++一次;
1.4、LIO-SAM可以看到在LIO-SAM中定义静态变量时在定义之初即进行了初始化; 并且ang_res_x代表角度分辨率;ringFlag代表雷达是否有线号;这两个变量的都只与使用的激光雷达有关;不随着类所创建的对象不同而改变
2、 类的静态函数成员2.1、概述静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用公用的静态成员函数,要使用类名和域运算符” ::”,其格式为: 类名::静态成员函数名(实参表); 对象名.静态成员函数名(实参表) ; ?
3、类的友元C++为了进一步提高数据共享,通过友元机制实现类外数据共享。 友元不是该类的成员函数,但是可以访问该类的私有成员。 3.1、友元函数3.1.1、非成员函数(普通函数) 作为友元函数将一个函数声明为一个类的友元函数后,它不但可以通过对象名访问类的公有成员,而且可以通过对象名访问类的私有成员和保护成员 访问对象中的成员必须通过对象名 友元函数近似于普通的函数,它不带有this指针, 因此必须将对象名或对象的引用作为友元函数的参数,这样才能访问到对象的成员。 友元函数可以访问该类中的所有成员(公有的、私有的和保护的) ,而一般函数只能访问类中的公有成员
3.2、友元类当一个类作为另一个类的友元时,就意味着这个类的所有成员函数都是另一个类的友元函数 ? 4、 数据的共享与保护对于既需要共享、又需要防止改变的数据应该声明为常量
?4.1、常对象常对象中所有数据成员为常变量,必须要有初始值,且均不能被更新 常对象的数据成员是常数据成员,但成员函数如不加const声明,编译系统将其作为非const成 常对象只能调用其常成员函数,常成员函数是常对象唯一的对外接口 常成员函数可以访问常对象中的数据成员,但不允许修改常对象中数据成员的值。 4.1.1 、常对象函数
4.2.2、常对象成员4.3、常引用
4.3.1、A-LOAM为了防止从雷达接受的点(pi)在输入转变的过程中被改变定义成常引用
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:01:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |