In C++, which function can be used to test whether the end of a file (EOF) has been reached?
- checkEOF()
- testEnd()
- eof()
- isTerminated()
The eof() function is used to test if the end-of-file (EOF) has been reached on a file stream in C++. It returns true if the EOF flag for the stream is set. The other options are not standard functions for this purpose in C++.
Which loop is NOT compatible with the break statement in C++?
- for loop
- do-while loop
- while loop
- None, all loops support break
All loops in C++ (for, while, and do-while) support the break statement. The break statement is a control flow statement that can be used to exit a loop prematurely when a specific condition is met, irrespective of the loop's primary condition.
Which year was the C++ programming language introduced?
- 1970
- 1980
- 1983
- 1995
C++ was introduced in 1983 by Bjarne Stroustrup as an enhancement to the C language.
The syntax to declare a pure virtual function is to follow the function declaration with _______.
- '= 0'
- 'virtual'
- 'override'
- '= 1'
In C++, a pure virtual function is declared by assigning 0 in its declaration. The syntax is virtual function_name() = 0;. It indicates that the function doesn't have a body in this class and must be implemented in any non-abstract derived class.
What happens to the control flow of a program when the break statement is encountered inside a while loop?
- The program exits
- The while loop terminates and control moves to the next statement after the loop
- The loop skips to the next iteration
- The loop starts from the beginning
When a break statement is encountered inside a while loop, the loop terminates immediately and the control moves to the next statement following the loop, regardless of the loop's condition.
You are developing a game where numerous conditions dictate the character's state (e.g., running, jumping, idle, etc.). To manage these states efficiently, which approach might be preferable?
- Use multiple if-else statements
- Use a state pattern
- Use global variables
- Implement recursion
The State Pattern allows an object to change its behavior when its internal state changes. This would be ideal for game character states as it encapsulates state-specific behaviors and transitions, making the code more organized, scalable, and easy to extend with new states.
Which function is used to open a file in C++?
- openFile()
- create()
- open()
- initiateFile()
The open() function is used in C++ to open a file. It is a member function of the file stream classes (like fstream, ifstream, ofstream). By providing the filename and mode, a user can access or modify the contents of a file.
Which keyword is used to define a template in C++?
- class
- public
- private
- template
The template keyword is used to define templates in C++. Templates allow functions and classes to operate with generic types, enabling more flexible and reusable code structures.
How can you prevent an object of a C++ class from being copied?
- Use private constructors
- Make the class abstract
- Declare the copy constructor as private
- Use an interface
By declaring the copy constructor (and the assignment operator) as private, you ensure that they cannot be invoked from outside the class, effectively preventing the creation of a copy of an object of the class. This is a common technique for the Singleton pattern.
What is the impact of using a friend function on encapsulation in C++?
- It enhances it.
- It doesn't affect it at all.
- It undermines it.
- It strengthens the class hierarchy.
Friend functions can access the private and protected members of a class. This can lead to a breach in encapsulation as they can potentially expose or modify class internals outside the usual member function framework. This undermines the very purpose of encapsulation.