码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • day4作业


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

    1. #include
    2. using namespace std;
    3. class Per
    4. {
    5. friend class Stu;
    6. private:
    7. string name;
    8. int age;
    9. int *hig;
    10. int *wig;
    11. public:
    12. Per(string name,int age,int* hig,int* wig):name(name),age(age),hig(new int(*hig)),wig(new int(*wig))
    13. {
    14. cout << "有参构造函数" << endl;
    15. }
    16. ~Per()
    17. {
    18. delete hig;
    19. delete wig;
    20. hig = nullptr;
    21. wig = nullptr;
    22. cout << "析构函数" << endl;
    23. }
    24. Per(const Per &other):name(other.name),age(other.age),hig(new int(*(other.hig))),wig(new int(*(other.wig)))
    25. {
    26. cout << "拷贝构造函数" << endl;
    27. }
    28. Per & operator=(const Per &p)
    29. {
    30. name = p.name;
    31. age = p.age;
    32. hig = new int(*(p.hig));
    33. wig = new int(*(p.wig));
    34. cout << "拷贝赋值函数" << endl;
    35. return *this;
    36. }
    37. void show()
    38. {
    39. cout << name << " " << age << " " << *hig << " " << *wig << endl;
    40. }
    41. };
    42. class Stu
    43. {
    44. private:
    45. int soc;
    46. Per p1;
    47. public:
    48. Stu(int soc,Per &p):soc(soc),p1(p)
    49. {
    50. cout << "stu有参构造函数" << endl;
    51. }
    52. ~Stu()
    53. {
    54. cout << "stu析构函数" << endl;
    55. }
    56. Stu(const Stu &ss):soc(ss.soc),p1(ss.p1)
    57. {
    58. cout<< "stu拷贝构造函数" << endl;
    59. }
    60. Stu & operator=(const Stu & ss)
    61. {
    62. soc = ss.soc;
    63. p1 = ss.p1;
    64. cout << "stu拷贝赋值函数" << endl;
    65. return *this;
    66. }
    67. void show()
    68. {
    69. cout << soc << " " << p1.name << " " << p1.age << " " << *(p1.hig) << " " << *(p1.wig) << endl;
    70. }
    71. };
    72. int main()
    73. {
    74. int a = 105;
    75. int b = 188;
    76. Per p("ko",18,&b,&a);//有参构造函数
    77. Per pp(p);//拷贝构造函数
    78. pp = p; //拷贝赋值函数
    79. pp.show();
    80. Stu s1(99,pp);//stu有参构造函数
    81. Stu s2(s1);//stu拷贝构造函数
    82. Stu s3(89,p);
    83. s3 = s1;//stu拷贝赋值函数
    84. s3.show();
    85. return 0;
    86. }

  • 相关阅读:
    Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构、部署实例
    产品探秘:智影AI——你的创意视频制作神器!
    SpringMVC之综合案例:参数传递,向页面传参,页面跳转
    java面试题整理《微服务篇》六
    Java计算机毕业设计 基于SpringBoot+Vue的毕业生信息招聘平台的设计与实现 Java实战项目 附源码+文档+视频讲解
    使用 Docker 部署 TailChat 开源即时通讯平台
    Spring按业务模块输出日志到不同的文件
    [Spring Boot]10 使用RestTemplate调用第三方接口
    vue - 解决vue : 无法加载文件 C:\Users\hp\AppData\Roaming\npm\vue.ps1,因为在此系统上禁
    国内首家 EMQ 加入亚马逊云科技「初创加速-全球合作伙伴网络计划」
  • 原文地址:https://blog.csdn.net/weixin_71469238/article/details/134274308
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号