2.【类的组合(在一个类中定义一个类)】

51 阅读1分钟

【类的组合 :类名A 对象】

(对象名())可不是类名

9fad237e583b441fb66d7c34c8149ef9.png

bdb9506506e84376ad819421b4c4f13a.png

#include <iostream>

#include <string.h>

using namespace std;

class Person

{

private:

 string name;

 string sex;

 int age;

public:

 Person(string na, string se, int ag) :name(na), sex(se), age(ag) {}

 Person() {}

 ~Person() {}

 void show()

 {

  cout << "姓名,性别,年龄为:" << name << " " << sex << " " << age << " " << endl;

 }

};

class Student

{

private:

 int gress;

 Person p;

public:

 Student(string na = "李明", string se = "男", int ag = 20, int gr = 11) :p(na, se, ag), gress(gr) {}

 void show()

 {

  p.show();

  cout << "级别为:" << gress << endl;

 }

};

int main()

{

 Student s;

 s.show();

 return 0;

}

1b885fe3448b4e519244bb365fe292d9.png