Sponsor Area

Object Oriented Programming

Question
CBSEENCO12011522

Answer the questions (i) to (iv) based on the following:

class One
{
	int A1;
protected:
	float A2;
public:
	One();
	void Get1(); void Show1();
};

class Two :
private One
{
	int B1;
protected:
	float B2;
public:
	Two();
	void Get2();
	void Show();
};

class Three : public Two
{
	int C1;
public:
	Three();
	void Get3();
	void Show();
};
void main()
{
Three T;		//Statement 1
_______;		//Statement 2
}

(i) Which type of Inheritance out of the following is illustrated in the above example?
-Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance.

(ii) Write the names of all the member functions, which are directly accessible by the
object T of class Three as declared in main() function.

(iii) Write Statement 2 to call function Show() of class Two from the object T of Class Three.

(iv) What will be the order of execution of the constructors, when the object T of
class Three is declared inside main()?

Solution

(i) Multilevel Inheritance is illustrated in the above example.

(ii) Get3(), Show() of class Three
     Get2(), Show() of class Two
These are directly accessible by the object T of class Three as declared in main() function.

(iii) T.Two::Show()

(iv) when the object T of class Three is declared inside main() then the order of the construction is One, Two, Three.

Some More Questions From Object Oriented Programming Chapter

Write the definition of a class RING in C++ with the following description:

Private Members
  - RingNumber  // data member of integer type
  - Radius         // data member of float type
  - Area           // data member of float type
  - CalcArea() // Member function to calculate and assign
                   // Area as 3.14 * Radius*Radius
Public Members 
  - GetArea() // A function to allow user to enter values of
                  // RingNumber and Radius. Also, this
                 // function should call CalcArea() to calculate
                // Area
- ShowArea() // A function to display RingNumber, Radius
                   // and Area

Answer the questions (i) to (iv) based on the following:

class One
{
	int A1;
protected:
	float A2;
public:
	One();
	void Get1(); void Show1();
};

class Two :
private One
{
	int B1;
protected:
	float B2;
public:
	Two();
	void Get2();
	void Show();
};

class Three : public Two
{
	int C1;
public:
	Three();
	void Get3();
	void Show();
};
void main()
{
Three T;		//Statement 1
_______;		//Statement 2
}

(i) Which type of Inheritance out of the following is illustrated in the above example?
-Single Level Inheritance, Multilevel Inheritance, Multiple Inheritance.

(ii) Write the names of all the member functions, which are directly accessible by the
object T of class Three as declared in main() function.

(iii) Write Statement 2 to call function Show() of class Two from the object T of Class Three.

(iv) What will be the order of execution of the constructors, when the object T of
class Three is declared inside main()?

Write the definition of a function Reverse(int Arr[], int N) in C++, which should reverse the entire content of the array Arr having N elements, without using any other array.

Example: if the array Arr contains

13 10 15 20 5

Then the array should become

5 20 15 10 13

NOTE:

  • The function should only rearrange the content of the array.
  • The function should not copy the reversed content in another array.
  • The function should not display the content of the array.

Write a definition for a function ADDMIDROW(int MAT[][10], int R, int C) in C++, which finds sum of the middle row elements of the matrix MAT (Assuming C represents the number of Columns and R represents the number of rows, which is an odd integer).
For example, if the content of array MAT having R as 3 and C as 5 is as follows:

1 2 3 4 5
2 1 3 4 5
3 4 1 2 5

The function should calculate the sum and display the following:
Sum of Middle Row: 15

Differentiate between private and public members of a class in the context of Object Oriented Programming. Also, give a suitable example illustrating accessibility/non-accessibility of each using a class and an object in C++.

Observe the following C++ code and answer the questions (i) and (ii).
Note: Assume all necessary files are included.

class TEST
{
	long TCode;
	char TTitle[20];
	float Score;
public:
TEST()			//Member Function 1
{
	TCode=100;strcpy(TTitle,”FIRST Test”);Score=0;
}
TEST(TEST &T)      //Member Function 2
{
	TCode=E.TCode+1;
	strcpy(TTitle,T.TTitle);
	Score=T.Score;
}
};
void main()
{
_________________	//Statement 1
_________________	//Statement 2
}

(i) Which Object-Oriented Programming feature is illustrated by the Member Function 1 and Member Function 2 together in the class TEST?
(ii) Write Statement 1 and Statement 2 to execute Member Function 1 and Member Function 2 respectively.

Observe the following C++ code and answer the questions (i) and (ii). Assume all necessary files are included:

class FICTION
{
	long FCode;
	char FTitle[20];
	float FPrice;
public:
FICTION() //Member Function 1
{
	cout<<'Bought'<<endl;
	FCode=100;strcpy(FTitle,'Noname');FPrice=50;
}
FICTION(int C,char T[],float P) //Member Function 2
{
	FCode=C;
	strcpy(FTitle,T);
	FPrice=P;
}
void Increase(float P) //Member Function 3
{
	FPrice+=P;
}
void Show() //Member Function 4
{
	cout<<FCode<<':'<<FTitle<<':'<<FPrice<<endl;
}
~FICTION() //Member Function 5
{
	cout<<'Fiction removed!'<<end1;
}
};
void main()	 //Line 1
{               //Line 2
FICTION F1,F2(101,'Dare',75); 	//Line 3
for (int I=0;I<4;I++) 		//Line 4
{    //Line 5
	F1.Increase(20);F2.Increase(15); 	//Line 6
	F1.Show();F2.Show();  	//Line 7
}		//Line 8
}		//Line 9

Which specific concept of object-oriented programming out of the following is illustrated by Member Function 1 and Member Function 2 combined together?

  1. Data Encapsulation
  2. Data Hiding
  3. Polymorphism
  4. Inheritance

Observe the following C++ code and answer the questions (i) and (ii). Assume all necessary files are included:

class FICTION
{
	long FCode;
	char FTitle[20];
	float FPrice;
public:
FICTION()         //Member Function 1
{
	cout<<'Bought'<<endl;
	FCode=100;strcpy(FTitle,'Noname');FPrice=50;
}
FICTION(int C,char T[],float P) //Member Function 2
{
	FCode=C;
	strcpy(FTitle,T);
	FPrice=P;
}
void Increase(float P) //Member Function 3
{
	FPrice+=P;
}
void Show() //Member Function 4
{
	cout<<FCode<<':'<<FTitle<<':'<<FPrice<<endl;
}
~FICTION() //Member Function 5
{
	cout<<'Fiction removed!'<<end1;
}
};
void main() //Line 1
{               //Line 2
FICTION F1,F2(101,'Dare',75); //Line 3
for (int I=0;I<4;I++)                //Line 4
{                                             //Line 5
F1.Increase(20);F2.Increase(15); //Line 6
F1.Show();F2.Show();     //Line 7
}     //Line 8
}      //Line 9

How many times the message 'Fiction removed!' will be displayed after executing the above C++ code? Out of Line 1 to Line 9, which line is responsible to display the message 'Fiction removed!'?

Write the definition of a class METROPOLIS in C++ with the following description:

Private Members

-Mcode       //Data member for Code (an integer)
-MName    //Data member for Name (a string)
-MPop      //Data member for Population (a long int)
-Area      //Data member for Area Coverage (a float)
-PopDens //Data member for Population Density (a float)
CalDen()//A member function to calculate
           //Density as PopDens/Area

Public Members

-Enter() //A function to allow user to enter values of
            //Mcode,MName,MPop,Area and call CalDen()
           //function
-ViewALL()//A function to display all the data members
               //also display a message ”Highly Populated Area”
             //if the Density is more than 12000