What will be the output of a loop if the continue statement is placed before the print statement inside the loop?
- The loop will not output anything
- The loop will output values continuously
- The loop will only output the first value
- The loop will output alternate values
If the continue statement is placed before the print statement inside a loop, it will cause the loop to skip the print statement during every iteration. Therefore, nothing will be outputted by the loop.
What is the primary purpose of the return statement in C++ functions?
- To loop the function
- To display a value
- To exit the function
- To allocate memory
In C++, the return statement is primarily used to conclude the execution of a function and provide a value back to the caller. It signifies the end of a function's execution and optionally returns a value to the calling function.
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.
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.
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.
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.
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 is the primary purpose of using enum in C++?
- For iterating over collections
- For handling exceptions
- To create user-defined data types
- For memory management
The primary purpose of enum (short for "enumeration") in C++ is to create user-defined data types where you can define a set of named integer constants. It provides a way to assign names to integral constants, which makes a program easier to read and maintain.
In what scenario might a program have a memory leak due to an exception being thrown?
- When the destructor isn't called
- When using global variables
- When an exception is caught and rethrown
- When exception specifications are used
A common memory leak scenario is when an exception is thrown before the memory allocated dynamically (usually with new) is deallocated. If the exception prevents a destructor or a delete statement from being reached, the memory is never released, resulting in a memory leak.
In C++, _______ functions cannot be virtual.
- inline
- recursive
- overloaded
- default
Inline functions in C++ are expanded at the place where they are called, rather than being invoked. Because of this, they cannot be virtual as the virtual mechanism relies on function calls.
In which scenarios could the use of goto be considered acceptable or even advisable?
- To enhance the readability of deeply nested loops.
- To replace exception handling mechanisms.
- For breaking out of multiple nested loops.
- To implement recursive functions.
While the use of "goto" is generally discouraged in modern programming due to making code harder to read and maintain, there are rare cases, like breaking out of multiple nested loops or complex error handling before exceptions were widely adopted, where its use might be considered.
What is the difference between break and continue in the context of a loop?
- break stops the loop, continue skips to the next iteration
- break skips to the next iteration, continue stops the loop
- Both have the same function
- Neither is used in loops
In a loop, the break statement is used to exit the loop prematurely, halting its execution entirely. On the other hand, the continue statement skips the remaining part of the current iteration and jumps to the next iteration.