0% found this document useful (0 votes)
160 views9 pages

C MCQ Test 2 (Imamoddin Answer)

This document contains a multiple choice quiz on C++ programming concepts. It covers topics such as base vs derived class pointers, static vs non-static class members, friend functions, references vs pointers, polymorphism implementation using templates vs virtual functions, loops, I/O streams, dynamic memory allocation, and name mangling. The quiz contains 46 multiple choice questions testing understanding of fundamental C++ features in comparison to C.

Uploaded by

imamoddin15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views9 pages

C MCQ Test 2 (Imamoddin Answer)

This document contains a multiple choice quiz on C++ programming concepts. It covers topics such as base vs derived class pointers, static vs non-static class members, friend functions, references vs pointers, polymorphism implementation using templates vs virtual functions, loops, I/O streams, dynamic memory allocation, and name mangling. The quiz contains 46 multiple choice questions testing understanding of fundamental C++ features in comparison to C.

Uploaded by

imamoddin15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

C++ Programming MCQ Test 2

1. Which of the following is correct?


a) Base class pointer object cannot point to a derived class object
b) Derived class pointer object cannot point to a base class object
c) A derived class cannot have pointer objects
d) A base class cannot have pointer objects

Answer: (a)
2. Out of the following, which is not a member of the class?
a) Static function
b) Friend function
c) Constant function
d) Virtual function

Answer: (b)
3. What is the other name used for functions inside a class?
a) Member variables
b) Member functions
c) Class functions
d) Class variables

Answer: (b)
4. Which of the following cannot be a friend?
a) Function
b) Class
c) Object
d) Operator function

Answer: (c)

5. Why references are different from pointers?


a) A reference cannot be made null
b) A reference cannot be changed once initialized
c) No extra operator is needed for dereferencing of a reference
d) All of the mentioned

Answer: (d)
6. Which of the following provides a programmer with the facility of using object of a class inside other
classes?
a) Inheritance
b) Composition
c) Abstraction
d) Encapsulation

Answer: (b)
7. How many types of polymorphism are there in C++?
a) 1
b) 2
c) 3
d) 4
Answer: (b)
8. How run-time polymorphisms are implemented in C++?
a) Using Inheritance
b) Using Virtual functions
c) Using Templates
d) Using Inheritance and Virtual functions

Answer: (b)
9. How compile-time polymorphisms are implemented in C++?
a) Using Inheritance
b) Using Virtual functions
c) Using Templates
d) Using Inheritance and Virtual functions

Answer: (c)
10. Which of the following is an abstract data type?
a) int
b) float
c) class
d) string

Answer: (c)
11. Which concept means the addition of new components to a program as it runs?
a) Data hiding
b) Dynamic binding
c) Dynamic loading
d) Dynamic typing

Answer: (d)
12. Which of the following explains the overloading of functions?
a) Virtual polymorphism
b) Transient polymorphism
c) Ad-hoc polymorphism
d) Pseudo polymorphism

Answer: (a)
13. Which of the following approach is used by C++?
a) Top-down
b) Bottom-up
c) Left-right
d) Right-left

Answer: (a)

14. Which operator is overloaded for a cout object?


a) >>
b) <<
c) <
d) >

Answer: (b)
15. Which of the following cannot be used with the virtual keyword?
a) Class
b) Member functions
c) Constructors
d) Destructors

Answer: (c)
16. Which concept is used to implement late binding?
a) Virtual functions
b) Operator functions
c) Constant functions
d) Static functions

Answer: (a)
17. Which of the following is correct?
a) C++ allows static type checking
b) C++ allows dynamic type checking.
c) C++ allows static member function to be of type const.
d) C++ allows both static and dynamic type checking

Answer: (d)
18. Which of the following supports the concept that reusability is a desirable feature of a language?
a) It reduces the testing time
b) It reduces maintenance cost
c) It decreases the compilation time
d) It reduced both testing and maintenance time

Answer: (b)
19. Which of the following is a static polymorphism mechanism?
a) Function overloading
b) Operator overloading
c) Templates
d) All of the mentioned

Answer: (a)
20. Which of the following is true?
I) All operators in C++ can be overloaded.
II) The basic meaning of an operator can be changed.
a) I only
b) II only
c) Both I and II
d) Neither I nor II

Answer: (c)
21. Which of the following is not a type of inheritance?
a) Multiple
b) Multilevel
c) Distributive
d) Hierarchical

Answer: (c)

22. What happens if a class does not have a name?


a) It will not have a constructor
b) It will not have a destructor
c) It is not allowed
d) It will neither have a constructor or destructor
Answer: (d)

23. Which of the following statement is true?


I) In Procedural programming languages, all function calls are resolved at compile-time
II) In Object Oriented programming languages, all function calls are resolved at compile-time
a) I only
b) II only
c) Both I and II
d) Neither I nor II

Answer: (a)
24. Which members are inherited but are not accessible in any case?
a) Private
b) Public
c) Protected
d) Both private and protected

Answer: (a)
25. Which of the following is correct?
a) Friend functions can access public members of a class
b) Friend functions can access protected members of a class
c) Friend functions can access private members of a class
d) All of the mentioned

Answer: (d)
26. Which of the following is correct in C++?
a) Classes cannot have protected data members
b) Structures can have member functions
c) Class members are public by default
d) Structure members are private by default

Answer: (a)
27. Which of the following is used to make an abstract class?
a) By using virtual keyword in front of a class declaration
b) By using an abstract keyword in front of a class declaration
c) By declaring a virtual function in a class
d) By declaring a pure virtual function in a class

Answer: (d)
28. Which of the following is correct?
a) A class is an instance of its objects
b) An object is an instance of its class
c) A class is an instance of the data type that the class have
d) An object is an instance of the data type of the class

Answer: (b)
29. What is the correct syntax of declaring array of pointers of integers of size 10 in C++?
a) int arr = new int[10];
b) int **arr = new int*[10];
c) int *arr = new int[10];
d) int *arr = new int*[10];
Answer: (b)
30. Which of the following is correct about new and malloc?
i) new is an operator whereas malloc is a function
ii) new calls constructor malloc does not
iii) new returns required pointer whereas malloc returns void pointer and needs to be typecast
a) i and ii
b) ii and iii
c) i and iii
d) i, ii and iii

Answer: (d)
31. What happens if the following C++ statement is compiled and executed?

int *ptr = NULL;


delete ptr;
a) The program compiled successfully but throws an error during run-time
b) The program gives a compile-time error
c) The program is not semantically correct
d) The program is compiled and executed successfully

Answer: (a)

32. What happens if the following program is executed in C and C++?

#include<stdio.h>
int main()
{

foo();
}

int foo()
{
printf(“ Hello “);
return(0);
}

a) Error in both C and C++


b) Warning in both C and C++
c) Error in C++ but Warning in C
d) Error in C but Warning in C++

Answer: (c)
33. Which of the following type is provided by C++ but not C?
a) int
b) bool
c) float
d) double
Answer: (b)
34. Which of the following feature is not provided by C?
a) Pointers
b) Structures
c) References
d) Functions
Answer: (c)

35. Which of the following is not a fundamental type is not present in C but present in C++?
a) int
b) float
c) bool
d) void

Answer: (c)
36. What is the size of a boolean variable in C++?
a) 1 bit
b) 1 byte
c) 4 bytes
d) 2 bytes

Answer: (a)
37. Which of the following is C++ equivalent for scanf()?
a) cin
b) cout
c) print
d) input

Answer: (a)

38. Which of the following is C++ equivalent for printf()?


a) cin
b) cout
c) print
d) input

Answer: (b)
39. Which of the following is the correct difference between cin and scanf()?
a) both are the same
b) cin is a stream object whereas scanf() is a function
c) scanf() is a stream object whereas cin is a function
d) cin is used for printing whereas scanf() is used for reading input

Answer: (a)
40. Which of the following is an exit-controlled loop?
a) for
b) while
c) do-while
d) all of the mentioned

Answer: (c)
41. Which of the following is an entry-controlled loop?
a) for
b) while
c) do-while
d) both while and for
Answer: (d)

42. In which part of the for loop termination condition is checked?


for(I;II;III)
{IV}
a) I
b) II
c) III
d) IV

Answer: (b)
43. . What is dynamic binding?
a) The process of linking the actual code with a procedural call during run-time
b) The process of linking the actual code with a procedural call during compile-time
c) The process of linking the actual code with a procedural call at any-time
d) All of the mentioned

Answer: (a)
44. What is static binding?
a) The process of linking the actual code with a procedural call during run-time
b) The process of linking the actual code with a procedural call during compile-time
c) The process of linking the actual code with a procedural call at any-time
d) All of the mentioned

Answer: (c)
45. What is name mangling in C++?
a) The process of adding more information to a function name so that it can be distinguished from
other functions by the compiler
b) The process of making common names for all the function of C++ program for better use
c) The process of changing the names of variable
d) The process of declaring variables of different types

Answer: (a)

46. What will be the output of the following program in both C and C++?

#include<stdio.h>
int main(int argc, char const *argv[])
{
printf("%d\n", (int)sizeof('a'));
return 0;
}

a) Output in C is 1 and in C++ is 4


b) Output in C is 4 and in C++ is 1
c) Output in C is 1 and in C++ is 1
d) Output in C is 4 and in C++ is 4

Answer: (a)
47. What will be the output of the following C++ code?

#include<stdio.h>
int main(int argc, char const *argv[])
{
char a = 'a';
printf("%d\n", (int)sizeof(a));
return 0;
}
a) Output in C is 1 and in C++ is 4
b) Output in C is 4 and in C++ is 1
c) Output in C is 1 and in C++ is 1
d) Output in C is 4 and in C++ is 4

Answer: (c)

48. Which of the following is the scope resolution operator?


a) .
b) *
c) ::
d) ~

Answer: (c)

49. What will be the output of the following C++ code?

#include<iostream>
int x = 1;
int main()
{
int x = 2;
{
int x = 3;
cout << ::x << endl;
}
return 0;
}
a) 1
b) 2
c) 3
d) 123

Answer-: (a)

50. What will be the output of the following C++ code?

#include<iostream>
class A
{
~A(){
cout<<"Destructor called\n";
}
};
int main()
{
A a;
return 0;
}
a) Destructor called
b) Nothing will be printed
c) Error
d) Segmentation fault
Answer: (b)

You might also like