In C++, if a class makes a non-member function its friend, that function gets the ability to access the _______ and _______ members of the class. 

  • public, private 
  • private, protected 
  • public, static 
  • static, protected
In C++, when a non-member function is declared as a friend of a class, it can access both private and protected members of that class. Public members are accessible to all functions, so the unique ability granted by the friendship is access to the private and protected members.

Which function is used to read a single character from a file in C++? 

  • extract() 
  • get() 
  • fetch() 
  • pull()
The get() method is used to read a single character from a file in C++. While extract() is not a standard method for this purpose, fetch() and pull() are not associated with file reading in the standard C++ library.

Which operator is used to compare if two values are equal in C++? 

  • == 
  • = 
  • === 
  • !=
In C++, the == operator is used for equality comparison. It checks if the values of two operands are equal. On the other hand, = is an assignment operator, === is not valid in C++, and != is the not-equal operator.

What is the primary purpose of the ofstream class in file handling? 

  • Reading files 
  • Writing to files 
  • Deleting files 
  • Copying files
The ofstream class stands for output file stream. It is primarily used for performing output operations on files, meaning it's used for writing data to files. This class provides methods and properties needed to write data.

Which of the following data types is suitable for storing a character in C++? 

  • boolean
  • char 
  • float 
  • int 
In C++, the char data type is specifically designed to store characters. It typically occupies 1 byte in memory and can represent a single character from the ASCII table.

You are developing a software library in C++ that will be used by other developers, and you want to ensure that the internal variables of your classes are not accessible while the methods are. How might encapsulation be implemented to achieve this while providing a clear API? 

  • Make all variables public and methods private. 
  • Make all methods and variables private. 
  • Make variables private and methods public. 
  • Only use static variables and methods.
Encapsulation is achieved by bundling data (variables) and methods that operate on the data into a single unit (class) and restricting the direct access to some of the object's components. In C++, this is implemented by declaring variables as private and providing public methods (API) to access and manipulate them.

What will be the result of the bitwise OR operation between 1101 and 1010 binary numbers? 

  • 1111 
  • 1100 
  • 111 
  • 1011
The bitwise OR operation works by comparing each bit position of the two numbers. If at least one bit is set (1) in a given position in either of the numbers, the resulting bit will be set. For 1101 OR 1010, the result is 1111.

What is the primary advantage of passing parameters by reference over passing them by value? 

  • Reduced memory usage 
  • Faster program execution 
  • Modifying the actual variable 
  • Ensuring data privacy
Passing parameters by reference allows for direct access to the original memory location, eliminating the need for copying data. This reduces memory overhead and can enhance the performance of the program. While options 2 and 3 can also be benefits of passing by reference, the primary advantage is the reduction of memory usage.

To handle an exception thrown, a _______ block is used to catch the exception. 

  • if 
  • catch 
  • try 
  • for
The catch block in C++ is used to handle exceptions. When an exception occurs in the try block, it is passed to the catch block where it can be handled. The type of exception that a particular catch block can handle is determined by the parameter it carries.

To create an infinite loop using a while loop, we can use the statement while(_______). 

  • FALSE 
  • 1 
  • 0 
  • "infinite"
A while loop continues execution as long as the condition within the parentheses is true. By using "while(1)", where 1 stands for true in the context of the loop's condition, it creates an infinite loop.