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


    今日任务

    1> 思维导图

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

    代码:

    1. #include
    2. using namespace std;
    3. /*
    4. * 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,
    5. * 再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,
    6. * 设计这两个类的构造函数、析构函数和拷贝构造函数。
    7. */
    8. class Per
    9. {
    10. private:
    11. string name;
    12. int age;
    13. int *height;
    14. int *weight;
    15. public:
    16. Per() {
    17. cout << "Per::无参构造" <
    18. }
    19. Per(string name,int age,int height,int weight):name(name),age(age),height(new int(height)),weight(new int(weight)){
    20. cout << "Per::有参构造" <
    21. }
    22. ~Per(){
    23. delete height;
    24. delete weight;
    25. cout << "Per::析构函数" <
    26. }
    27. Per(const Per &per):name(per.name),age(per.age),height(new int(*per.height)),weight(new int(*per.weight)){
    28. cout << "Per::拷贝构造函数" <
    29. }
    30. void show(){
    31. cout << "per_info: name" << name << ";name" << age << ";height" << *height << ";weight" << *weight <
    32. }
    33. };
    34. class Stu
    35. {
    36. private:
    37. int score;
    38. Per p1;
    39. public:
    40. Stu() {
    41. cout << "Stu::无参构造" <
    42. }
    43. Stu(int score,Per p1):score(score),p1(p1){
    44. cout << "Stu::有参构造" <
    45. }
    46. ~Stu(){
    47. cout << "Stu::析构函数" <
    48. }
    49. Stu(Stu &stu):score(stu.score),p1(stu.p1){
    50. cout << "Stu::拷贝构造函数" <
    51. }
    52. void show(){
    53. cout << "stu_info: score" << score << "p1";
    54. p1.show();
    55. }
    56. };
    57. int main()
    58. {
    59. Per p1;
    60. Per p2("张三",19,182,75);
    61. Per p3=p2;
    62. //p1.show();
    63. p2.show();
    64. p3.show();
    65. cout << "------------" <
    66. Stu s1;
    67. Stu s2(99,p2);
    68. Stu s3=s2;
    69. //s1.show();
    70. s2.show();
    71. s3.show();
    72. cout << "------------" <
    73. return 0;
    74. }

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

    今日思维导图

  • 相关阅读:
    美团基于 Flink 的实时数仓平台建设新进展
    【教3妹学算法-每日3题(3)】用栈操作构建数组
    慧通编程第4关 - 魔法学院第6课
    深入理解Java虚拟机笔记-1、2章
    在云计算环境中,如何利用 AI 改进云计算系统和数据库系统性能
    labview 常见快捷键
    TRCX:触摸屏(TSP)分析
    python 字典
    C++之assert惯用法
    在Spring Boot项目中集成监控与报警
  • 原文地址:https://blog.csdn.net/weixin_53762703/article/details/133712947