在c++中,聚合是一个进程,一个类将另一个类定义为实体引用(一个类作为另一个类的成员)。 这是另一种重用类的方法。 它是一种表示has-a关系的关联形式。
下面来看看一个聚合的例子,其中employee
类有address
类的引用作为数据成员。 这样,它可以重用address
类的成员。
#include <iostream>
using namespace std;
class address {
public:
string addressline, city, state;
address(string addressline, string city, string state)
{
this->addressline = addressline;
this->city = city;
this->state = state;
}
};
class employee
{
private:
address* address; //employee has-a address
public:
int id;
string name;
employee(int id, string name, address* address)
{
this->id = id;
this->name = name;
this->address = address;
}
void display()
{
cout<<id <<" "<<name<< " "<<
address->addressline<< " "<< address->city<< " "<<address->state<<endl;
}
};
int main(void) {
address a1= address("renmin road-15","haikou","up");
employee e1 = employee(101,"beijing",&a1);
e1.display();
return 0;
}
执行上面代码,得到以下结果 -
101 beijing renmin road-15 haikou up