This is my first post - Hello everybody, hopefully you can help get on straight and narrow with regards to c++ Anyway on to question:

What I need to do this is to utilize the
constructor of one class in a second class - thereby optimizing the
code by avoiding duplication.

Take this example:

Constructor of first class:

Class1::Class1( void )
        a = 0;


Instead of duplicating this I would like Class2 to use this same

Class2::Class2( void )
        //I would like code here that would pass an array to the Class1
constructor and if the array was 5 in size then each position in the
array would be initialized with a=0


Edited by happygeek: fixed formatting

11 Years
Discussion Span
Last Post by Mr Violent

a class can have more than one constructor. write another constructor that takes the parameter you want.

class Class1
       Class1(); // default constructor
       Class1(int array[10], int size);

You can create multiple constructors via method overloading.

Each function/method that you create has something called a method signature.

void myMethod(int j);

That is an example of a method signature, your compiler reads it as "void myMethod(int)". If you would like to overload this method and create another method with the same name but do something slightly different, you must change it's signature.

void myMethod(String j);

This creates a different signature "void myMethod(String)" and is therefore a different function. Depending on what you pass as a parameter into your method when you use it, depends on which method is used. Be careful of typecasting!

Constructors work in the same way, you can create multiple constructors, and using the "this" keyword you can either reference an object the method is a part of, or call another constructor of the same class.

class myClass {
     int setThis;

     myClass() { // first constructor calls the second constructor

     myClass(int n) { // second constructor, sets the class variable
          setThis = n;

if you compiled this class and called the following code:

myClass ex = new myClass(5);

// OR

myClass ex2 = new myClass();

the local variable to myClass (named setThis) would be set to 5 in BOTH examples.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.