954,506 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Newbie Constructor / Array question

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
constructor:

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

}

andyww14
Newbie Poster
1 post since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

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

class Class1
{
public:
       Class1(); // default constructor
       Class1(int array[10], int size);
};
Ancient Dragon
Retired & Loving It
Team Colleague
30,049 posts since Aug 2005
Reputation Points: 5,662
Solved Threads: 2,343
 

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, orcall another constructor of the same class.

class myClass {
private:
     int setThis;

public:
     myClass() { // first constructor calls the second constructor
          this(5);
     }

     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.

Mr Violent
Newbie Poster
22 posts since Mar 2005
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You