一个类可以作为另外一个类的成员变量

    1. #include <bits/stdc++.h>
    2. using namespace std;
    3. class Number{
    4. public:
    5. Number(){
    6. cout << "Number构造函数的调用" << endl;
    7. }
    8. ~Number(){
    9. cout << "Number析构函数的调用" << endl;
    10. }
    11. };
    12. class Test{
    13. public:
    14. Test(){
    15. cout << "Test构造函数的调用" << endl;
    16. }
    17. ~Test(){
    18. cout << "Test析构函数的调用" << endl;
    19. }
    20. };
    21. class Person{
    22. public:
    23. Person(){
    24. cout << "Person构造函数的调用" << endl;
    25. }
    26. ~Person(){
    27. cout << "Person析构函数的调用" << endl;
    28. }
    29. Number number;
    30. Test test;
    31. };
    32. int main(){
    33. Person person;
    34. return 0;
    35. }

    构造和析构的顺序相反

    • 先按照顺序执行成员变量中各个类的构造函数,再执行自身的构造函数。
    • 析构顺序和构造顺序相反,最先构造的最后析构。

    image.png