C++ Programming MCQ – Namespaces

This section on C++ questions and puzzles focuses on “Namespaces”. One shall practice these questions and puzzles to improve their C++ programming skills needed for various interviews (campus interviews, walk-in interviews, company interviews), placements, entrance exams and other competitive exams. These programming puzzles can be attempted by anyone focusing on learning C++ programming language. They can be a beginner, fresher, engineering graduate or an experienced IT professional. Our C++ questions come with the detailed explanation of the answers which helps in better understanding of C++ concepts.

Here is a listing of C++ questions and puzzles on “Namespaces” along with answers, explanations and/or solutions:

1. Which operator is used to signify the namespace?
a) conditional operator
b) ternary operator
c) scope operator
d) bitwise operator
View Answer

Answer: c
Explanation: Scope operator(::) is used in namespace syntax.
General syntax:
namespace X{ int a;}
cout<<X::a;

2. Identify the correct statement.
a) Namespace is used to group class, objects and functions
b) Namespace is used to mark the beginning of the program
c) A namespace is used to separate the class, objects
d) Namespace is used to mark the beginning & end of the program
View Answer

Answer: a
Explanation: Namespace allows you to group class, objects, and functions. It is used to divide the global scope into the sub-scopes.

3. What is the use of Namespace?
a) To encapsulate the data
b) To structure a program into logical units
c) Encapsulate the data & structure a program into logical units
d) It is used to mark the beginning of the program
View Answer

Answer: b
Explanation: The main aim of the namespace is to understand the logical units of the program and to make the program so robust.
advertisement
advertisement

4. What is the general syntax for accessing the namespace variable?
a) namespace::operator
b) namespace,operator
c) namespace#operator
d) namespace$operator
View Answer

Answer: a
Explanation: To access variables from namespace we use following syntax.
namespace :: variable;
General syntax:
namespace X{ int a;}
cout<<X::a;

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

Note: Join free Sanfoundry classes at Telegram or Youtube
  1.     #include <iostream>
  2.     using namespace std;
  3.     namespace first
  4.     {
  5.         int var = 5;
  6.     }
  7.     namespace second
  8.     {
  9.         double var = 3.1416;
  10.     }
  11.     int main ()
  12.     {
  13.         int a;
  14.         a = first::var + second::var;
  15.         cout << a;
  16.         return 0;
  17.    }

a) 8.31416
b) 8
c) 9
d) compile time error
View Answer

Answer: b
Explanation: As we are getting two variables from namespace variable and we are adding that.
Output:

advertisement
$ g++ name.cpp
$ a.out
8

advertisement

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

  1.     #include <iostream>
  2.     using namespace std;
  3.     namespace first
  4.     {
  5.         int x = 5;
  6.         int y = 10;
  7.     }
  8.     namespace second
  9.     {
  10.         double x = 3.1416;
  11.         double y = 2.7183;
  12.     }
  13.     int main ()
  14.     {
  15.         using first::x;
  16.         using second::y;
  17.         bool a, b;
  18.         a = x > y;
  19.         b = first::y < second::x;
  20.         cout << a << b;
  21.         return 0;
  22.     }

a) 11
b) 01
c) 00
d) 10
View Answer

Answer: d
Explanation: We are inter mixing the variable and comparing it which is bigger and smaller and according to that we are printing the output.
Output:

$ g++ name1.cpp
$ a.out
10

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

  1.     #include <iostream>
  2.     using namespace std;
  3.     namespace Box1
  4.     {
  5.         int a = 4;
  6.     }
  7.     namespace Box2
  8.     {
  9.         int a = 13;
  10.     }
  11.     int main ()
  12.     {
  13.         int a = 16;
  14.         Box1::a;
  15.         Box2::a;
  16.         cout << a;
  17.         return 0;
  18.     }

a) 4
b) 13
c) 16
d) compile time error
View Answer

Answer: c
Explanation: In this program, as there is lot of variable a and it is printing the value inside the block because it got the highest priority.
Output:

$ g++ name2.cpp
$ a.out
16

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

  1.     #include <iostream>
  2.     using namespace std;
  3.     namespace space
  4.     {
  5.         int x = 10;
  6.     }
  7.     namespace space
  8.     {
  9.         int y = 15;
  10.     }
  11.     int main(int argc, char * argv[])
  12.     {
  13.         space::x = space::y =5;
  14.         cout << space::x << space::y;
  15.     }

a) 1015
b) 1510
c) 55
d) compile time error
View Answer

Answer: c
Explanation: We are overriding the value at the main function and so we are getting the output as 55.
Output:

$ g++ name4.cpp
$ a.out
55

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

  1.     #include <iostream>
  2.     using namespace std;
  3.     namespace extra
  4.     {
  5.         int i;
  6.     }
  7.     void i()
  8.     {
  9.         using namespace extra;
  10.         int i;
  11.         i = 9;
  12.         cout << i;
  13.     }
  14.     int main()
  15.     {
  16.         enum  letter { i, j};
  17.         class i { letter j; };
  18.         ::i();
  19.         return 0;
  20.     }

a) 9
b) 10
c) compile time error
d) 11
View Answer

Answer: a
Explanation: A scope resolution operator without a scope qualifier refers to the global namespace.

10. Which keyword is used to access the variable in the namespace?
a) using
b) dynamic
c) const
d) static
View Answer

Answer: a
Explanation: using keyword is used to specify the name of the namespace to which the variable belongs.
eg.
namespace A{ int a = 5;}
namespace B{ int a = 10;}
using namespace A;
cout<<a; // will print value of a from namespace A.
using namespace B;
cout<<a; // will print value of a from namespace B.

Sanfoundry Global Education & Learning Series – C++ Programming Language.

To practice all areas of C++ language, here is complete set of 1000+ Multiple Choice Questions and Answers.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.