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

10.30 作业 C++

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

#include <iostream>

using namespace std;

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(const Per &other):name(other.name),age(other.age),height(new int(*(other.height))),weight(new int(*(other.weight)))
    {
        cout << "Per::拷贝构造函数" << endl;
    }

    ~Per()
    {
        delete height;
        delete weight;
        cout << "Per::析构函数" << endl;
    }

    void show()
    {
        cout << "姓名: " << name << endl;
        cout << "年龄: " << age << endl;
        cout << "身高: " << height << endl;
        cout << "体重: " << weight << endl;
    }

};

class Stu
{
private:
    double score;
    Per p1;
public:
    Stu(){cout << "Stu::无参构造函数" << endl;}

    Stu(double score, string name, int age, int height, int 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 << endl;
        p1.show();
    }
};
int main()
{
    Stu s1(99, "大帅比", 20, 185, 145);
    s1.show();
    Stu s2(s1);
    s2.show();

    Per p3("帅比", 20, 188, 160);
    p3.show();
    Per p4(p3);
    p4.show();

    return 0;
}


http://www.kler.cn/a/152063.html

相关文章:

  • 【NGINX--10】高可用性部署模式
  • 万户ezOFFICE wpsservlet任意文件上传漏洞复现
  • centos7配置tomcat
  • 阅读文献总结2023
  • CTA-GAN:基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 CT到增强CT的合成技术
  • MySQL 大表设计
  • Echarts 柱状图添加标记 最大值 最小值 平均值
  • 【开题报告】基于SpringBoot的在线打印预约系统的设计与实现
  • 学习笔记:Pytorch 搭建自己的Faster-RCNN目标检测平台
  • 【双向链表的实现】
  • JS设计模式 — 行为委托
  • 基于php的求书网的设计与实现
  • 【Vulnhub 靶场】【DriftingBlues: 9 (final)】【简单】【20210509】
  • python进阶技巧
  • QtCMake工程提升类后找不到头文件
  • linux /proc 文件系统
  • WPS导出的PDF比较糊,和原始的不太一样,将带有SVG的文档输出为PDF
  • ubuntu22.04 鼠标乱动原因-关闭触屏和触摸版
  • 中国信通院发布《中国算力发展指数白皮书》(2023)
  • SAP 如何检查已安装的SAP UI5 版本