Explain nested classes, C/C++ Programming

Assignment Help:

Nested Classes

Many a times, it becomes essential to have a class contain properties of two other classes. One way is to explain a class within another - that is a class with member classes also known as nested classes. This has nothing to do with inheritance. Another way is multiple inheritance , which will be discussed later.

e.g.

                class Aclass

                 {

                  public :

                                                Aclass(int pv)

                                                 {

                                                                private_variable_A = pv;

                                                 }

  private :

                                                int private_variable_A;

                                  };

 

                class Bclass

                 {

                  public :

                                                Bclass(int bpv, int apv): Aobj(apv)

                                                 {

                                                                private_variable_B = bpv;

                                                 }

                  private :

                                                int private_variable_B;

                                                Aclass Aobj;        // Declaring an object here.

                  };

 

As can be seen , the class Bclass have an object Aobj in its private section as one of its members. Also, it have a constructor function with the similar name, to which the two variables passed are bpv and apv. The variable bpv is used to initialize the private variable of Bclass.

Though, the constructor contains something after the colon. The part after the colon in the definition of a constructor is known as initialization section and the actual body of the constructor is known as assignment section . Initialization section initializes the base class members, while assignment section contains statements to initialize the derived class members.

 


Related Discussions:- Explain nested classes

Square maze, SquareMaze The SquareMaze class should be declared and defined...

SquareMaze The SquareMaze class should be declared and defined in maze.h and maze.cpp, respectively. Each SquareMaze object will represent a randomly-generated square maze and its

Write a program that finds the minimum total number of shelv, Write a progr...

Write a program that finds the minimum total number of shelves, including the initial one required for this loading process.

What is union, What is Union? Intimately associated with the structure ...

What is Union? Intimately associated with the structure is the union which as well contains multiple members. Unlike a structure but the members of a union share the same stora

Explain public and private members, Public, Private and Protected members: ...

Public, Private and Protected members: Class members can either be declared in public','protected' or in the 'private' sections of the class. But as one of the features of OOP i

Pointer to function, how many values we can return from pointer to function...

how many values we can return from pointer to function?

Write short note on c++, Introduction to C++ C++ was developed by Bjarn...

Introduction to C++ C++ was developed by Bjarne Stroustrup at Bell Laboratories in 1983. Originally, it was known as " C with class". C+ as an enhancement to the C language was

Tracing of abstract array - c++ program, Tracing of Abstract array: i...

Tracing of Abstract array: inline int isZero( const Object& o ) {     return o == NOOBJECT; }   int AbstractArray::isEqual( const Object& obj ) const {

Class, array of class objects and single inheritance

array of class objects and single inheritance

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd