C++_day3:构造函数、析构函数、拷贝构造函数

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

程序代码:

#include <iostream>using namespace std;//封装一个Per类
class Per
{
private://私有成员string name;//姓名int age;//年龄double *height;//指针成员身高double *weight;//指针成员体重
public://公共成员//一、构造函数//1.无参构造函数Per(){cout << "无参构造函数" << endl;}//2.有参构造函数//初始化列表Per(string name,int age,double height,double weight):name(name),age(age),height(new double(height)),weight(new double(weight)){cout << "有参构造函数" << endl;}//二、拷贝构造函数Per(const Per &other):name(other.name),age(other.age),height(new double(*(other.height))),weight(new double(*(other.weight))){cout << "拷贝构造函数" << endl;}//三、析构函数~Per(){cout << "析构函数" << endl;}//输入数据成员值void show(){cout << "姓名:" << name << endl;cout << "年龄:" << age <<endl;cout << "身高:" << height << endl;cout << "体重:" << weight << endl;}
};
//封装一个名为Stu的类
class Stu
{
private://私有成员double score;//成绩Per p1;//Per类对象p1
public://公共成员//一:构造函数//1.无参构造函数Stu(){cout << "Stu::无参构造函数" << endl;}//2.有参构造函数Stu(double score,string name,int age,double height,double weight):score(score),p1(name,age,height,weight){cout << "Stu::有参构造函数" << endl;}//二.拷贝构造函数Stu(const Stu &other):score(other.score),p1(other.p1){cout << "Stu::拷贝构造函数" << endl;}//三、析构函数~Stu(){cout << "Stu::析构函数" << endl;}void show(){cout << "score = " << score << endl;}};
int main()
{Per p;//系统自动调用无参函数//用Per这样的类 实例化一个p1对象Per p1("张三",25,165,152); //自动调用有参构造函数Per p2(p1);//调用拷贝构造函数Stu s1; //自动调用无参构造函数Stu类Stu s2(80,"李四",26,160,155);//自动调用有参构造函数Stu s3(s2);//自动调用拷贝构造函数return 0;
}

运行结果:

2.流程图

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

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

相关文章

行业认可 | 海云安上榜《2024年网络与信息安全行业全景图》多个领域

近日&#xff0c;深圳市网络与信息安全行业协会正式发布《2024年网络与信息安全行业全景图》。海云安凭借过硬的技术实力及成熟的网络与信息安全产品及服务获得行业认可&#xff0c;入围6大类目共计17项细分领域。包括&#xff1a; 业务安全&#xff08;软硬件开发安全、人工智…

深入学习React开发:从基础到实战

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 引言 React是一款流行的JavaScript库&#xf…

Seata 2.x 系列【6】微服务项目搭建

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 数据库…

腾讯t-design 实现图片预览组件的显示和使用

腾讯t-design 发布了 下面介绍一个组件的使用 图片预览 <template><div><div class"tdesign-demo-image-viewer__base"><t-image-viewer :images"[img]"><template #trigger"{ open }"><div class"tde…

three.js 鼠标左右拖动改变玩家视角

这里主要用到了 一个方法 obj.getWorldDirection(); obj.getWorldDirection()表示的获取obj对象自身z轴正方向在世界坐标空间中的方向。 按下 W键前进运动&#xff1b; <template><div><el-container><el-main><div class"box-card-left…

基于Java的天然气工程运维系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司&#xff08;施工单位&#xff09;功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…

python基于flask考研学习交流系统30vy7附源码django

考研在线学习与交流平台根据实际情况分为前后台两部分&#xff0c;前台部分主要是让用户使用的&#xff0c;包括用户的注册登录&#xff0c;首页&#xff0c;课程信息&#xff0c;在线讨论&#xff0c;系统公告&#xff0c;后台管理&#xff0c;个人中心等功能&#xff1b;后台…

【数据结构与算法】排序

目 录 一.排序的概念及引用1.1 排序的概念1.2 常见的排序算法 二.常见排序算法的实现2.1 插入排序直接插入排序希尔排序( 缩小增量排序 ) 2.2 选择排序直接选择排序堆排序 2.3 交换排序冒泡排序快速排序快速排序优化&#xff1a;非递归实现快速排序 2.4归并排序2.4.3 海量数据的…

arthas 常用命令详解(dashboard、thread、jad、redefine等)

上文中我们介绍了arthas安装和基本命令查看&#xff0c;本文详细介绍各个命令的使用方式。我们在启动arthas的时候&#xff0c;arthas会将监控的java进程展示出来&#xff0c;我们需要选择一个进程进入监控状态。 1、基础命令 命令说明示例help查看命令帮助信息helpcat 打印文…

目标追踪DeepSort算法原理浅析

前言 背景&#xff1a;DeepSort是基于Sort目标跟踪进行的改进&#xff0c;它引入深度学习模型&#xff0c;在实时目标跟踪过程中&#xff0c;提取目标的外观特征进行最近邻近匹配。 目的&#xff1a;改善有遮挡情况下的目标追踪效果&#xff1b;同时&#xff0c;也减少了目标I…

ubuntu 下git常用指令【持续更新中】

1.下载 sudo apt install git 2. 查看版本 git --version3. 登录git账号 git config --global user.email "youexample.com" git config --global user.name "Your Name"4.生成密钥对 ssh-keygen -t rsa -C "your_emailyouremail.com"复制公…

证券公司如何应对大数据调度系统的高负载挑战

​在金融行业&#xff0c;数据处理和任务调度是日常运营的重要组成部分。随着业务量的激增&#xff0c;日益增长的任务量和复杂的资源管理需求&#xff0c;要求该系统不仅要稳如磐石&#xff0c;还需灵活高效。 本文将探讨某证券公司在应对这些挑战时所采用的策略&#xff0c;并…