C++聚合

在C++中,聚合是一个进程,一个类将另一个类定义为实体引用(一个类作为另一个类的成员)。 这是另一种重用类的方法。 它是一种表示HAS-A关系的关联形式。

C++聚合示例

下面来看看一个聚合的例子,其中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

上一篇: C++继承 下一篇: C++多态