TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

C++ Aggregation

C++ Aggregation tutorial for beginners and professionals with examples on constructor, if-else, switch, break, continue, comments, arrays, object and class, exception, static, structs, inheritance, aggregation etc.

<< Back to CPP

C++ Aggregation (HAS-A Relationship)

In C++, aggregation is a process in which one class defines another class as any entity reference. It is another way to reuse the class. It is a form of association that represents HAS-A relationship.


C++ Aggregation Example

Let's see an example of aggregation where Employee class has the reference of Address class as data member. In such way, it can reuse the members of Address class.

#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;
}

Output:

101 Nakul C-146, Sec-15 Noida UP
Next TopicC++ Polymorphism




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf