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? 2. Identify the correct statement. 3. What is the use of Namespace? 4. What is the general syntax for accessing the namespace variable? 5. What will be the output of the following C++ code? a) 8.31416
a) conditional operator
b) ternary operator
c) scope operator
d) bitwise operator
Answer: c
Clarification: Scope operator(::) is used in namespace syntax.
General syntax:
namespace X{ int a;}
cout<
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
Answer: a
Clarification: Namespace allows you to group class, objects, and functions. It is used to divide the global scope into the sub-scopes.
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
Answer: b
Clarification: The main aim of the namespace is to understand the logical units of the program and to make the program so robust.
a) namespace::operator
b) namespace,operator
c) namespace#operator
d) namespace$operator
Answer: a
Clarification: To access variables from namespace we use following syntax.
namespace :: variable;
General syntax:
namespace X{ int a;}
cout<
#include
using namespace std;
namespace first
{
int var = 5;
}
namespace second
{
double var = 3.1416;
}
int main ()
{
int a;
a = first::var + second::var;
cout << a;
return 0;
}
b) 8
c) 9
d) compile time error
Answer: b
Clarification: As we are getting two variables from namespace variable and we are adding that.
Output:
6. What will be the output of the following C++ code?
-
#include
-
using namespace std;
-
namespace first
-
{
-
int x = 5;
-
int y = 10;
-
}
-
namespace second
-
{
-
double x = 3.1416;
-
double y = 2.7183;
-
}
-
int main ()
-
{
-
using first::x;
-
using second::y;
-
bool a, b;
-
a = x > y;
-
b = first::y < second::x;
-
cout << a << b;
-
return 0;
-
}
a) 11
b) 01
c) 00
d) 10
Answer: d
Clarification: 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