Objects and Classes Questions
Practice Objects and Classes MCQs with answers and explanations. Page 3 of 3.
Category
C++ Programming
Topic
Objects and Classes
Page
3 / 3
Mode
Practice
Questions
Open any question to view the answer and explanation.
C++ deleting this inside a member: what happens if Function() calls delete this and then the pointer is used again?
#include<iostream.h>
class CuriousTab
{
int x;
float y;
public:
void Function()
{
x = 4;
y = 2.50;
delete this;
}
void Display()
{
cout<< x << " " << y;
}
};
int main()
{
CuriousTab *pCuriousTab = new CuriousTab();
pCuriousTab->Function();
pCuriousTab->Function();
pCuriousTab->Display();
return 0;
}
Open
View answer
C++ string scan: count characters immediately following spaces in "Welcome to CuriousTab.com!" and return the count length.
#include<iostream.h>
#include<string.h>
class CuriousTab
{
char str[50];
char tmp[50];
public:
CuriousTab(char s)
{
strcpy(str, s);
}
int CuriousTabFunction()
{
int i = 0, j = 0;
while ((str + i))
{
if (*(str + i++) == ' ')
*(tmp + j++) = *(str + i);
}
*(tmp + j) = 0;
return strlen(tmp);
}
};
int main()
{
char txt[] = "Welcome to CuriousTab.com!";
CuriousTab objCuriousTab(txt);
cout << objCuriousTab.CuriousTabFunction();
return 0;
}
Open
View answer
C++ composition with explicit member initialization: what product does Show() print for objBase(yy, yy)?
#include<iostream.h>
class CuriousTabBase
{
int x, y;
public:
CuriousTabBase(int xx = 10, int yy = 10)
{
x = xx;
y = yy;
}
void Show()
{
cout<< x * y << endl;
}
};
class CuriousTabDerived : public CuriousTabBase
{
private:
CuriousTabBase objBase;
public:
CuriousTabDerived(int xx, int yy) : CuriousTabBase(xx, yy), objBase(yy, yy)
{
objBase.Show();
}
};
int main()
{
CuriousTabDerived objDev(10, 20);
return 0;
}
Open
View answer
C++ non-virtual method call through a base pointer: which class name is printed when the static type is A*?
#include<iostream.h>
class A
{
public:
void CuriousTabFunction(void)
{
cout<< "Class A" << endl;
}
};
class B: public A
{
public:
void CuriousTabFunction(void)
{
cout<< "Class B" << endl;
}
};
class C : public B
{
public:
void CuriousTabFunction(void)
{
cout<< "Class C" << endl;
}
};
int main()
{
A *ptr;
B objB;
ptr = &objB;
ptr = new C();
ptr->CuriousTabFunction();
return 0;
}
Open
View answer
Practice smarter
Solve a few questions daily and revisit weak topics regularly to improve accuracy.