|
发表于 2023-6-9 10:25:53
|
显示全部楼层
当然可以,我很乐意帮助你理解这些概念。
1. 组合类(Composition): 组合是一种对象间的关系,意味着一个类可以包含另一个类的对象作为其成员。这是一种非常重要的方式来构建复杂的类。例如,假设我们有一个"Date"类和一个"Person"类,我们可以在"Person"类中包含一个"Date"对象,表示这个人的生日。
- class Date {
- public:
- Date(int year, int month, int day): year(year), month(month), day(day) {}
- // ...
- private:
- int year;
- int month;
- int day;
- };
- class Person {
- public:
- Person(string name, Date birthday): name(name), birthday(birthday) {}
- // ...
- private:
- string name;
- Date birthday;
- };
复制代码
然后,你就可以创建一个人,并指定他的生日:
- Date birthday(1990, 1, 1);
- Person person("Tom", birthday);
复制代码
2. 常成员(Const Member): 常成员是一种特殊类型的类成员,它的值在对象创建后就不能改变。你可以通过在成员变量前面添加"const"关键字来声明一个常成员。
- class MyClass {
- public:
- MyClass(int x): x(x) {}
- // ...
- private:
- const int x;
- };
复制代码
在这个例子中, x 是一个常成员,一旦对象被创建, x 的值就不能改变。
3. 静态成员(Static Member): 静态成员是属于类的成员,而不是属于类的某个特定对象的成员。这意味着,无论你创建了多少个这个类的对象,静态成员只有一份。静态成员可以是数据成员(变量)或成员函数(方法)。
- class MyClass {
- public:
- static int x;
- // ...
- };
- int MyClass::x = 0; // 初始化静态成员
复制代码
在这个例子中, x 是一个静态成员。所有的"MyClass"对象都共享这个 x ,并且可以通过类名直接访问它,如"MyClass::x"。 |
|