类与对象2 3 十十一 杂烩

news2024/9/20 12:02:39

目录

组合类

作用域

static

friend

常对象·常成员函数

常引用

对象指针(指向对象)

string


组合类

类的组合/聚合:将已有的类的对象作为新的类的成员。

组合类初始化:内嵌对象成员初始化 + 普通数据成员初始化。

类必须先定义后使用 若两个类互相引用,则需要使用前向引用声明

† 结构体与类的唯一区别:对于未指定访问控制属性的成员,在类中默认为私有成员;而在结构体中则默认为公有成员。

作用域

全局变量可以达到共享数据的目的,但安全性得不到保证:任何函数都可以自由修改全局变量的值,很有可能偶然失误,全局变量的值被错误修改,导致程序的失败

static

如果需要在同一个类的多个对象之间实现数据共享,可以使用静态数据成员。

静态成员函数可以直接访问静态成员,但不能直接访问非静态成员

► 静态成员函数访问非静态数据成员时,需指明对象/

/ 静态成员函数中有以下语句:

cout << height; // 若 height 是 static,则合法

cout << width; // 若 width 是非静态数据成员,则不合法

friend

►友元包括:友元函数与友元类

►友元类的所有函数成员都是友元函数

class Point
{public:... ...friend float dist(Point & p1, Point & p2);private:int x, y;};
float dist(Point & p1, Point & p2){double x=p1.x-p2.x, y=p1.y-p2.y;return sqrt(x*x+y*y);}

  友元关系不能传递

 友元关系是单向的

 友元关系不能被继承

——————————————————————————以上为第十讲

常对象·常成员函数

 常对象只能调用常成员函数

 常成员函数可以被普通对象调用

 无论对象是否为常对象,常成员函数的目的对象都将被视为常对像

常引用

常引用是为了常对象而存在的,正如指向常量的指针是为了常量存在的

 常引用可以绑定到常对象,也可以绑定到普通对象

 不能通过常引用来修改常引用所绑定的对象

 普通引用不能绑定到常对象

对象指针(指向对象)

this 指针:隐含在非静态成员函数中的特殊指针,指向目的对象,由系统自动生成

 可以防屏蔽:

string

 string 对象可以直接赋值 但数组字符串不能! 

————以上为第十一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1907576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

24下软考《系统规划与管理师》,一个超好背的核心知识点几页纸!

距离下半年软考考试的时间越来越近了&#xff0c;想要备考《系统规划与管理师》的小伙伴们趁着这两周赶紧准备起来&#xff0c;虽说系规相对较好考&#xff0c;但作为高级科目&#xff0c;它要记得东西还是不少的。 今天给大家整理了——系统规划与管理师考前几页纸&#xff0c…

C++语言相关的常见面试题目(二)

1.vector底层实现原理 以下是 std::vector 的一般底层实现原理&#xff1a; 内存分配&#xff1a;当创建一个 std::vector 对象时&#xff0c;会分配一块初始大小的连续内存空间来存储元素。这个大小通常会随着 push_back() 操作而动态增加。 容量和大小&#xff1a;std::vec…

多卡(3090)部署通义千问Qwen2-72B大模型并加速至38tps:vLLM库的使用和错误排查

前一篇文章做了Qwen1的加速&#xff0c;其中关于Auto-GPTQ的安装问题在Qwen2中依然适用。但是Qwen2比Qwen1加载模型快了很多&#xff0c;笔者也不知道为什么。 下面是Hugging Face transformer版的千问2&#xff0c;token生成速度在15个每秒左右&#xff0c;但还不够快&#x…

Spring——IOC创建对象方式

可参考官网&#xff1a;https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.htmlhttps://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html 1. 使用无参构造创建对象&#xff0…

Unity--射线检测--RayCast

Unity–射线检测–RayCast 1.射线检测的含义 射线检测,根据名称而言,使用一条射线来检测是击中了某个物体/多个物体 射线检测的包含两个部分: 射线和检测 2.射线检测可以用在哪些地方 射击游戏&#xff1a; 玩家的瞄准和射击&#xff1a;检测玩家视线是否与敌人或其他目标…

初识c++(命名空间,缺省参数,函数重载)

一、命名空间 1、namespace的意义 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全 局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名 冲突…

ubuntu24.04按关键字卸载不需要的apt包

使用的时候发现一个imagemagic无法正常读取文件&#xff0c;试图卸载 man apt经过尝试后&#xff0c;发现list的一个神奇关键字&#xff0c;用来显示已安装的软件包 sudo apt list --installed | grep image按image关键字过滤&#xff1a; 之后按软件名卸载即可 sudo apt pu…

数学建模论文写作文档word

目录 1. 摘要写法1.1 确定题目与方法1.2 编写开头段落1.3 填写问题一1.4 重复步骤3填写其他问题1.5 编写结尾段落1.6 编写关键词 2. 问题重述2.1 问题背景2.2 问题提出 3. 问题分析4. 问题X模型的建立与求解5. 模型的分析5.1 灵敏度分析5.2 误差分析&#xff08;主要用于预测类…

DAY2:插件学习

文章目录 插件学习ClangGoogle TestCMakeDoxygen 收获 插件学习 Clang 是什么&#xff1a;Clang 是指 LLVM 项目的编译器的前端部分&#xff0c;支持对 C 家族语言(C、C、Objective-C)的编译。Clang 的功能包括&#xff1a;词法分析、语法分析、语义分析、生成中间中间代码 L…

浅析C++引用

浅析C引用"&" ​ C中引入了一个新的语言特性——引用(&)&#xff0c;它表示某一对象的别名&#xff0c;对象与该对象的引用都是指向统一地址。那么我们就来看看关于引用的一些知识点吧&#x1f9d0; 特性 引用在定义时必须初始化一个变量可以有多个引用引…

C-10 凸包

凸包 数学定义 平面的一个子集S被称为是凸的&#xff0c;当且仅当对于任意两点A&#xff0c;B属于S&#xff0c;线段PS都完全属于S过于基础就不详细介绍了 凸包的计算 github上找到了别人的代码&#xff0c;用4种方式实现了凸包的计算&#xff0c;把他放在这里链接地址htt…

六、数据可视化—Wordcloud词云(爬虫及数据可视化)

六、数据可视化—Wordcloud词云&#xff08;爬虫及数据可视化&#xff09; 也是一个应用程序 http://amueller.github.io/word_cloud/ Wordcloud词云&#xff0c;在一些知乎&#xff0c;论坛等有这样一些东西&#xff0c;要么做封面&#xff0c;要么做讲解&#xff0c;进行分析…

Echarts 实现数据可视化

Echarts 简介 Echarts 是一个开源的、免费的、成熟的、商业级图表可视化框架&#xff0c;是 Apache 开源社区的顶级项目之一&#xff0c;也是国内使用最多和最为广泛的可视化图表框架之一。 数据可视化图表框架并没有一个统一的行业标准&#xff0c;比较常见的有 D3、Highchart…

电子设备常用的胶水有哪些?

目录 1、502胶水 2、703胶水 3、704胶水 4、AB胶 5、红胶 6、Underfill 7、导电胶 8、UV胶 9、热熔胶 10、环氧树脂胶 11、硅酮胶 12、聚氨酯胶 13、丙烯酸胶 14、丁基胶 1、502胶水 502胶水&#xff0c;也被称为瞬间胶或快干胶&#xff0c;是一种非常常见的粘合…

如何下载Github上项目中的一个目录或几个文件

目录 问题的由来 GitZip for Github插件 Edge中插件的安装 Chome中插件的安装 插件的使用 Github授权 文件下载 问题的由来 经常使用Github的可能都会有这样的需求&#xff0c;有的时候一个仓库好几个GB&#xff0c;但是感兴趣的只是某个目录下的文件。Git没有单独下载…

CTFShow的RE题(四)

真的是签到 给的是无后缀的 zip 文件&#xff0c;解压发现需要密码&#xff0c;也没有提示&#xff0c;猜测可能是 zip 伪加密 &#xff08;走错厂了吧&#xff09; zip是否加密 首先就是看开头的6 &#xff0c;7byte&#xff0c;和中间 01 02 后的 5 &#xff0c;6byte 成功解…

如何做一个透明度渐现且向上位移逐行出现的文字效果

前言 在这个夜黑风高的夜晚&#xff0c;你的眼睛已经开始有些疲惫。你的手指在键盘上轻轻地敲击着&#xff0c;仿佛在弹奏一首无声的夜曲。你的思绪在代码的海洋中飘荡&#xff0c;寻找着最后一行需要完成的代码。就在这时&#xff0c;你的老板走了过来&#xff0c;他的脸上带…

简过网:事业单位编制有哪几种类型,你都知道吗?

近几年来&#xff0c;随着考编、考公热&#xff0c;越来越多的朋友都有考编的想法&#xff0c;尤其是刚毕业的大学生&#xff0c;但是很多朋友对于事业单位编制有不清楚的地方&#xff0c;比如到底哪些属于事业单位的范围&#xff0c;事业单位编制分为哪些类型&#xff1f;今天…

解决:Android Studio 突然打不开!提示Failed to create JVM:error code -1

Android studio1.5 一直用得好好的&#xff0c;突然有一天打不开&#xff0c;并提示&#xff1a; 可是系统配置中&#xff0c;java的配置也是正常的。 解决方法&#xff1a; 修改安装目录下的studio64.exe.vmoptions 文件 直接将文件内容改成&#xff1a; -Xms128m -Xmx512m…

【活动行】参与上海两场线下活动,教育生态行业赛总决赛活动和WAIC人工智能大会活动 - 上海活动总结

目录 背景决赛最后一公里领域范围 决赛作品AI智教相机辅导老师Copilot辅导老师Copilot雅思写作竞技场 优秀作品总结 背景 决赛 百度发起的千帆杯教育生态行业赛于2024年7月4日进行线下决赛&#xff0c;博主虽然没能进入决赛&#xff0c;但也非常荣幸能够以嘉宾身份到现场给进…