Q:

C++ Constructor and Destructor | Find output programs | Set 1

belongs to collection: C++ find output programs

0

This section contains the C++ find output programs with their explanations on C++ Constructor and Destructor (set 1).

Program 1:

#include <iostream>
using namespace std;

class Sample {
private:
    int X;
    int Y;

public:
    Sample()
    {
        X = 0;
        Y = 0;
    }
    Sample(int x, int y)
    {
        X = X;
        Y = Y;
    }
    void print()
    {
        cout << X << " " << Y << endl;
    }
};

int main()
{
    Sample S1;
    Sample S2(10, 20);

    S1.print();
    S2.print();

    return 0;
}

Program 2:

#include <iostream>
using namespace std;

class Sample {
private:
    int X;
    int Y;

public:
    Sample()
    {
        X = 0;
        Y = 0;
    }
    Sample(int x, int y)
    {
        X = x;
        Y = y;
    }

    void print()
    {
        cout << X << " " << Y << endl;
    }
};

int main()
{
    Sample S1;
    Sample S2 = Sample(10, 20);
    Sample S3(30, 40);

    S1.print();
    S2.print();
    S3.print();

    return 0;
}

Program 3:

#include <iostream>
using namespace std;

class Sample {
private:
    int X;
    int Y;

public:
    Sample()
    {
        X = 0;
        Y = 0;
    }
    void set(int x, int y)
    {
        X = x;
        Y = y;
    }

    void print()
    {
        cout << X << " " << Y << endl;
    }
};

int main()
{
    Sample S[2];
    Sample* PTR;

    PTR = S;

    PTR[0].set(10, 20);
    PTR[1].set(30, 40);

    PTR[0].print();
    PTR[1].print();

    return 0;
}

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer Program 1:

Output:

0 0
0 0 [or - Some garbage value]

Explanation:

In the above program, we created a Sample class with data member X and Y, two constructors one is default constructor and the other is the parameterized constructor.

The default constructor will initialize the data members by 0. But there is a problem with parameterized constructor; here we assign data members by itself instead of local parameters. Then, data members X, and Y will contain garbage values.

Look to the main() function, here we created two objects S1 and S2.

S1 initialized with the default constructor so the data members of S1 will be initialized with 0.

S2 object will call the parameterized constructor, so data members of S2 will contain garbage values.

When we call the print() function with S1, then it will print "0 0" on the console screen. And when we call the print() function with S2, then it will print garbage value on the console screen.

Answer Program 2:

Output:

0 0
10 20
30 40

Explanation:

In the above program, we created a Sample class with data member X and Y, we created two constructors one is the default constructor and the other is the parameterized constructor.

The default constructor will initialize the data members by 0, and the parameters constructor will initialize data members by specified values.

Coming to the main() function. Here we created 3 objects of S1, S2, and S3. S1 initialized by default construct whereas S2 and S3 initialized by the parameterized constructor. S2 and S3 are used in different ways to create objects with the parameterized constructor, but both have the same effect.

S1 initialized X and Y by 0 and 0 respectively.
S2 initialized X and Y by 10 and 20 respectively.
S3 initialized X and Y by 30 and 40 respectively.

We print the values of all objects using the print() function.

Answer Program 3:

Output:

10 20
30 40

Explanation:

In the above program, we created a class Sample that contains two data members X and Y, one default constructor, set() and print() member functions.

Coming to the main() function, we created the array of objects with size 2, and a pointer that initialized with the base address of array objects. And then called set() and print() functions using the pointer, by this way functions will be called correctly and they print the assigned values.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C++ find output programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C++ Constructor and Destructor | Find output progr... >>
<< C++ Class and Objects | Find output programs | Set...