C++聚合(HAS-A关系)

在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("C-146, Sec-15","Noida","UP");    
    Employee e1 = Employee(101,"Nakul",&a1);    
    e1.display();   
   return 0;  
}

输出:

101 Nakul C-146, Sec-15 Noida UP

在上面的例子中,Employee类具有Address类的指针作为数据成员,表示Employee HAS-A Address的关系。通过这种方式,Employee类可以重用Address类的成员。

标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言进阶教程, C++语言高级教程, C++语言面试题, C++语言笔试题, C++语言编程思想