C++ DAY3

1.思维导图

 

 

 

2.有以下类定义,按要求实现剩余功能

#include <iostream>
using namespace std;class Person
{
private:int age;int *p;
public://无参构造Person():p(new int(89)){age = 18;}//有参构造Person(int age,int num){this->age = age;this->p=new int(num);}//拷贝构造函数//拷贝赋值函数//析构函数
};int main()
{return 0;
}

补充后

#include <iostream>
using namespace std;class Person
{
private:int age;int *p;
public://1.无参构造Person():p(new int(89)){age = 18;}//2.有参构造Person(int age,int num){this->age = age;this->p=new int(num);}//3.拷贝构造函数Person(Person &other){age=other.age;//浅拷贝
//        p=other.p;//深拷贝p=new int;*p=*(other.p);cout << "Person拷贝构造函数" << endl;}//4.拷贝赋值函数Person &operator=(Person &other){if(this!=&other){age = other.age;//浅拷贝//point = other.point;//深拷贝*p = *(other.p);cout << "Person拷贝赋值函数" << endl;}return *this;   //返回类对象本身}//5.析构函数~Person(){delete p;p=nullptr;cout << "释放那个了p指向的空间" << endl;cout << "Person的析构函数" << endl;}void show(){cout<<"age="<<age<<endl;cout<<"*p="<<*p<<endl;cout<<"p="<<p<<endl;}
};int main()
{Person k1;cout<<"k1:"<<endl;k1.show();cout<<"-----------------------------"<<endl;Person k2(20,99);cout<<"k2:"<<endl;k2.show();cout<<"-----------------------------"<<endl;cout<<"---------拷贝构造函数----------"<<endl;Person k3=k2;cout<<"k3:"<<endl;k3.show();cout<<"-----------------------------"<<endl;cout<<"---------拷贝赋值函数----------"<<endl;Person k4;k4=k2;cout<<"k4:"<<endl;k4.show();cout<<"-----------------------------"<<endl<<endl;return 0;
}

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

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

相关文章

【MySQL】SQL的函数用法

文章目录 聚合函数Count()Max()Min()Sum()Avg() 其他常用函数时间函数字符串函数SUBSTRING函数:切割字符串([start:end])SUBSTRING_INDEX函数:切割字符串(split)LOWER&UPPER函数:大小写转化CONCAT&CONCAT_WS函数:连接字符串REPLACE函数:字符串替换 数学函数ROUND函数:四…

Spring Boot高阶篇笔记

一、Spring Boot整合Redis缓存 JSR-107、Spring缓存抽象、整合Redis 1、JSR107 Java Caching定义了5个核心接口&#xff0c;分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry。 • CachingProvider定义了创建、配置、获取、管理和控制多个CacheManager。一个应…

一点基础、但一直没分清的概念2023/06/28

文章目录 1.export和export default的区别2.npm和cnpm的区别3.npm run dev/serve的区别4.slice、splice和split的区别 1.export和export default的区别 模块功能主要由两个命令构成&#xff1a;export和import。export命令用于规定模块的对外接口&#xff0c;import命令用于输…

MySQL事务与存储引擎

MySQL事务与存储引擎 MySQL事务一、事务的概念二、事务的ACID特点1、原子性2、一致性3、隔离性4、持久性&#xff08;Durability&#xff09;总结 三、事务之间的相互影响1、脏读2、不可重复读3、幻读4、丢失更新 四、Mysql及事物隔离级别1、查询全局事务隔离级别2、查询会话事…

npm 包 - serve 使用

前端打包后&#xff0c;或者本地的html文件。有时需要将打包好的项目跑一下看看效果&#xff0c;这时就可以使用 serve 工具&#xff0c;在本地启动一个静态文件服务器。本文主要简单记录下 npm 包 serve 的基本使用命令。 一、全局安装 serve npm install serve -g二、运行 s…

文心一言眼里的Java世界

目录 一、Java基础教程系列二、先听听文心一言怎么说&#xff1f;三、话不多说&#xff0c;开干。1、要有一个正确的Java学习路线&#xff0c;做一个细致的Java学习规划。2、学习资料推荐3、书中自有黄金屋&#xff0c;书中自有颜如玉4、自学周期推荐5、效率为先6、哪吒的学习方…

【深度学习】2-1 神经网络 - 激活函数

激活函数 将输入信号的总和转换为输出信号&#xff0c;一般称为激活函数&#xff08;activation function&#xff09;。激活函数作用在于决定如何来激活输入信号的总和。 对激活函数&#xff0c;一般要求&#xff1a; 非线性&#xff1a;为提高模型的学习能力&#xff0c;如…

机器学习李宏毅学习笔记33

文章目录 前言一、神经网络压缩二、Network pruning----一种network compression技术1.移除不同单位的区别2.大乐透假说 总结 前言 神经网络压缩&#xff08;一&#xff09; 类神经网络剪枝&#xff08;pruning&#xff09; 一、神经网络压缩 简化模型&#xff0c;用比较少的…

软件安全技术复习内容

软件安全技术 边复习边写的&#xff0c;有错误及时指正第一章 软件安全概述零日漏洞安全威胁分类CIA安全基本属性PDRR模型软件安全的主要方法和技术基本方法主要技术 第二章 软件漏洞概述概念软件漏洞成因分析软件漏洞分类基于漏洞成因的分类基于漏洞利用位置的分类基于威胁类型…

【工作记录】基于CSS+JS可拖拽改变大小、可吸附到边界的DIV

记录一段实现可拖拽、可自动吸附到边界的代码。 <!DOCTYPE html> <html lang"en"> <head><style>body {overflow: hidden;}#pane {position: absolute;width: 45%;height: 45%;top: 20%;left: 20%;margin: 0;padding: 0;z-index: 99;border…

Google禁止自动更新

前言&#xff1a; 为了使用selenium&#xff0c;必须要禁止google自动更新&#xff0c;要不然辛苦下的驱动&#xff0c;随着更新还得再下一遍。 解决&#xff1a; 1.打开服务 2.禁用google更新服务 然后就可以了

单片机学习12-串口通信

目录 串口通信实验 通信的基本概念 串行通信与并行通信 异步通信与同步通信 单工、半双工与全双工通信 通信速率&#xff08;比特率&#xff09; 单片机串口介绍 串口通信简介 串口相关寄存器 串口工作方式 方式 0 方式 1 方式 2 和方式 3 串口的使用方法 硬件设计…