当前位置: 首页 > news >正文

C++day03(动态内存、类中特殊成员函数)

今日任务

1> 思维导图

2> 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。

代码:

#include <iostream>using namespace std;
/** 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,* 再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,* 设计这两个类的构造函数、析构函数和拷贝构造函数。
*/
class Per
{
private:string name;int age;int *height;int *weight;
public:Per() {cout << "Per::无参构造" <<endl;}Per(string name,int age,int height,int weight):name(name),age(age),height(new int(height)),weight(new int(weight)){cout << "Per::有参构造" <<endl;}~Per(){delete height;delete weight;cout << "Per::析构函数" <<endl;}Per(const Per &per):name(per.name),age(per.age),height(new int(*per.height)),weight(new int(*per.weight)){cout << "Per::拷贝构造函数" <<endl;}void show(){cout << "per_info: name" << name << ";name" << age << ";height" << *height << ";weight" << *weight <<endl;}};class Stu
{
private:int score;Per p1;
public:Stu() {cout << "Stu::无参构造" <<endl;}Stu(int score,Per p1):score(score),p1(p1){cout << "Stu::有参构造" <<endl;}~Stu(){cout << "Stu::析构函数" <<endl;}Stu(Stu &stu):score(stu.score),p1(stu.p1){cout << "Stu::拷贝构造函数" <<endl;}void show(){cout << "stu_info: score" << score << "p1";p1.show();}
};int main()
{Per p1;Per p2("张三",19,182,75);Per p3=p2;//p1.show();p2.show();p3.show();cout << "------------" <<endl;Stu s1;Stu s2(99,p2);Stu s3=s2;//s1.show();s2.show();s3.show();cout << "------------" <<endl;return 0;
}

运行结果:一开始的时候出现了个问题,就是我调用p1.show()和s1.show()的话输出会遗漏,结果如下下图,我想输出一个随机值也不会影响其他语句的输出啊,不知道为什么

今日思维导图

http://www.lryc.cn/news/186659.html

相关文章:

  • 【Leetcode】179. 最大数
  • ArduPilot开源飞控之AP_Baro_MSP
  • openGauss学习笔记-94 openGauss 数据库管理-访问外部数据库-mysql_fdw
  • UML图 - 类图(Class Diagram)
  • sheng的学习笔记-【中文】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第二周测验
  • Nacos 监控手册
  • 项目需求分析5大常见问题及解决方案
  • C#学习系列相关之多线程(四)----async和await的用法
  • 极智AI | 大模型优化之KV Cache
  • Android 使用 registerForActivityResult() 打开系统相册或相机获取图像
  • 如何制作网页 ico
  • golang gorm 增删改查以及使用原生SQL(以操作mysql为例)
  • 代码随想录 单调栈part2
  • 详解利用高斯混合模型拆解多模态分布 + 精美可视化
  • 排序算法之【归并排序】
  • Qt中QTimer定时器的用法
  • vue-组件定义注册使用
  • 斑馬打印機打印中文
  • (一)Apache log4net™ 手册 - 介绍
  • 基于Java的民宿管理系统设计与实现(源码+lw+部署文档+讲解等)(民宿预约、民宿预订、民宿管理、酒店预约通用)
  • 039:mapboxGL更换地图上的鼠标样式
  • 【云原生】K8S对外服务之Ingress
  • 分布式锁如何实现
  • Mysql存储-EAV模式
  • 全局变量报错:\Output\STM32.axf: Error: L6218E: Undefined symbol
  • 算法错题簿(持续更新)
  • 基于Springboot实现疫情网课管理系统项目【项目源码+论文说明】
  • Linux文件与目录的增删改查
  • JVM的内存模型
  • 数据采集项目之业务数据(三)