探索类中的成员对象与封闭类

C++作为一种强大而灵活的编程语言,提供了丰富的面向对象编程(OOP)特性,其中成员对象与封闭类是其重要组成部分之一。

一、认识成员对象与封闭类

在类中,成员对象是指一个对象包含在另一个对象中,它们之间建立了一种关联关系。而封闭类则是包含其他类或对象的类,形成了一种层次结构。成员对象与封闭类的结合运用,为程序设计提供了良好的组织结构和管理方式。

二、代码解释:封闭类的应用示例

让我们通过一个简单的示例来说明封闭类的应用。假设我们要设计一个图书馆系统,其中包括图书(Book)、读者(Reader)和管理员(Librarian)三个类。我们可以使用封闭类来表示图书馆系统,其中读者和管理员作为成员对象被包含在图书类中。


#include
#include
using namespace std;

class Librarian; // 提前声明,因为在Reader类中会用到Librarian类

class Book {
private:
string title;
string author;
int year;
Librarian* librarian; // 成员对象
public:
Book(string t, string a, int y) : title(t), author(a), year(y), librarian(nullptr) {}

void setLibrarian(Librarian* l) {
librarian = l;
}

void showInfo() {
cout