C++学习/复习4--与类相关的概念/默认成员函数/运算符重载/Date类实现案例

一、类和对象

1.本章概要

2.C++中的结构体(struct与class) 升级为类

(1)类及成员函数的两种定义方式 

            声明与定义分离

(2)权限 

注意1:struct/class在权限上的区别

(3)封装

(4)作用域

(5)创建对象

(6)对象大小的计算与存储

         注:此处是方式3即成员函数放在公共代码区,非类的内部

注意1:内存对齐的主要原因包括
  • 平台和移植性。不同的硬件平台可能对内存访问有特定的要求。某些硬件平台只能访问特定地址处的特定类型数据,如果数据未对齐,可能导致硬件异常或性能下降
  • 性能。为了提高访问速度,对齐数据可以使处理器更高效地加载数据,减少因数据跨越多个内存页或缓存行而导致的额外访问时间。
  • 存储空间优化。内存对齐有助于减少内存碎片,提高内存利用率,使结构体或对象的大小更加紧凑,节省内存空间。
  • 访问效率。内存对齐使得处理器可以一次访问获取所需数据,而不是进行多次访问。
  • 硬件IO特性。内存的IO操作通常以特定的数据宽度(如64位)为单位进行,因此内存对齐对于提高IO效率至关重要。
 注意2:空类大小

(7)this指针 

1、特性及本质

2.受this影响下C/C++的对比

二、类中的函数与操作符重载

1.本章概要

2.六个默认成员函数

(1)构造函数

          注意1:当手动实现该函数时,保证其函数与类名相同,具体参数、函数体视具体情况定
          注意2:可以重载是因为可能有多种初始化的方式
          注意3:何时适合自己写,何时无需自己写

(2)析构函数

注意1:何时适合自己写,何时无需自己写

(3)拷贝构造函数

注意1:深拷贝,深拷贝必须自己实现,要与默认的生成的浅拷贝区分

三、总结:1.注意析构/构造何时需自己写,何时不需。2.注意拷贝构造有深浅拷贝之分。3.注意内置数据类型与自定义数据类型对三种函数的影响4.一般“内置”“动态申请需手动释放”的需要自己实现,相反则不需  

四、赋值等运算符的重载

注意1:赋值运算符重载是默认生成的,其他如大于小于则不是

五、const成员函数

六、(const)取地址运算符重载

注意:同之前的默认成员函数一样是默认的、也不可重载成全局函数,不常用

七、Date类实现与本章知识点运用

   

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

功率电感设计方法2:实例

文章目录 1:美磁的选项手册截图2:设计步骤2.1:设计需求2.2:选择磁芯材料2.3:选择磁芯2.4 查询 A L A_{L} AL​自感系数2.5 初算匝数2.6重新校准验算感量 3:后续 绕线因子4:日常壁纸分享 参考手册链接 1&…

iOS App上架全流程及审核避坑指南

App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些…

移动云以深度融合之服务,令“大”智慧贯穿云端

移动云助力大模型,开拓创新领未来。 云计算——AI模型的推动器。 当前人工智能技术发展的现状和趋势,以及中国在人工智能领域的发展策略和成就。确实,以 ChatGPT 为代表的大型语言模型在自然语言处理、文本生成、对话系统等领域取得了显著的…

python数据分析-CO2排放分析

导入所需要的package import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import datetime %matplotlib inline plt.rcParams[font.sans-serif] [KaiTi] #中文 plt.rcParams[axes.unicode_minus] False #负号 数据清洗…

PLC_博图系列☞R_TRIG:检测信号上升沿

PLC_博图系列☞R_TRIG:检测信号上升沿 文章目录 PLC_博图系列☞R_TRIG:检测信号上升沿背景介绍R_TRIG: 检测信号上升沿说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 R_TRIG 背景介绍 这是一篇关于PLC编程的文章&a…

云计算-关系型数据库(Relational Database)

关系数据库服务(RDS)(Relational Database Service (RDS)) Amazon RDS 可用于在云中设置和运行关系数据库。它支持多种数据库实例类型以及多个数据库引擎,如 Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle 数据库…

gfast:基于全新Go Frame 2.3+Vue3+Element Plus构建的全栈前后端分离管理系统

gfast:基于全新Go Frame 2.3Vue3Element Plus构建的全栈前后端分离管理系统 随着信息技术的飞速发展和数字化转型的深入,后台管理系统在企业信息化建设中扮演着越来越重要的角色。为了满足市场对于高效、灵活、安全后台管理系统的需求,gfast应…

零基础学Java第二十三天之网络编程Ⅱ

1. InetAddress类 用来表示主机的信息 练习: C:\Windows\system32\drivers\etc\ hosts 一个主机可以放多个个人网站 www.baidu.com/14.215.177.37 www.baidu.com/14.215.177.38 www.taobao.com/183.61.241.252 www.taobao.com/121.14.89.253 2. Socket 3.…

Windows11平台在VS2022上通过CMake安装C++绘图库ROOT库

Root库是一个功能强大的开源软件框架,用于数据分析、可视化和存储。它最初是为高能物理实验设计的,但现在已经广泛应用于各种科学领域和工程应用中。Root库使用C编写,提供了许多用于数据处理和分析的工具和算法。它的核心功能包括数据存储、数…

tcpdump源码分析

进入tcpdump.c(函数入口)之前,先看一些头文件netdissect.h里定义了一个数据结构struct netdissect_options来描述tcdpump支持的所有参数动作,每一个参数有对应的flag, 在tcpdump 的main 里面, 会根据用户的传入的参数来…

C#基础语言

​​​​ 目录 一个c# 程序主要包括以下部分:​​​​​​​ 标识符 C# 关键字 C# 数据类型 值类型(Value types) 引用类型(Reference types) 对象(Object)类型 动态(Dynam…

总是等不是办法,向媒体投稿你得学会用新方法

初入信息宣传领域,我怀揣着对文字的热爱与传播价值的热情,肩负起了单位活动的宣传报道重任。那时的我,满脑子都是传统的投稿思维:精心撰写每一篇稿件,然后逐一搜寻各大媒体的投稿邮箱,一封封邮件满怀期待地发出,像播撒希望的种子,渴望在广袤的媒体土壤中生根发芽。然而,理想很丰…

YOLOv10尝鲜测试五分钟极简配置

最近清华大学团队又推出YOLOv10,真是好家伙了。 安装: pip install supervision githttps://github.com/THU-MIG/yolov10.git下载权重:https://github.com/THU-MIG/yolov10/releases/download/v1.0/yolov10n.pt 预测: from ult…

C++笔记:三种适配器(分别修饰函数、迭代器、容器)

Algorithms看不见Containers,对其一无所知。所以,它所需要的一切信息都必须从iterators取得,而iterators(由Containers提供)必须能够回答Algorithm的所有提问,才能搭配该Algorithm的所有操作。 1. C 标准库…

国内首个智能体生态大会!2024百度万象大会定档5月30日

最近,百度悄悄「上新」了几个AI神器。 百度搜索上线「互动」功能,可以实时问答,查询信息就像聊天一样简单,还可以艾特相关智能体,更细致精确地满足个性化需求,比如去新加坡旅游,可以让新加坡旅…

智慧校园学工管理系统的部署

学工体系思政服务该怎么规划建造?思政作为高校育人的中心使命,在做到让学生健康高兴生长的一起,也应满意学生生长成才的各类需求。使用技术为学生供给优质的信息化服务,是其间的有效途径。大数据让个性化教育成为可能,…

OTA在线旅行社系统架构:连接世界的科技纽带

随着互联网的快速发展和人们对旅行需求的不断增长,OTA(Online Travel Agency)在线旅行社成为了现代旅行业中的重要一环。OTA系统架构的设计和实现将对旅行行业产生深远影响。本文将探讨OTA在线旅行社系统架构的重要性和关键组成部分&#xff…

人工智能为犯罪地下世界带来了巨大的生产力提升

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

centos7.9用docker运行一个nginx容器

首先你的linux 系统里面已经安装好了docker,docker的安装教程看这个 1,下载nginx镜像 有很多文章会把镜像下载说成是拉取镜像, 我觉得就是下载的意思啊,搞不懂为什么要说拉取? docker pull nginx 下载最新版 Nginx …

开源的在线JSON数据可视化编辑器jsoncrack本地部署与远程访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序,能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…