If a function is declared multiple times but defined only once, will the program compile successfully?

  • It depends on the compiler
  • It depends on the function name
  • No
  • Yes
Yes, if a function is declared multiple times but defined only once in a program, it will compile successfully. This is because function declarations inform the compiler about the function's signature and return type, allowing it to check for consistency when the function is called in different parts of the code. The definition provides the actual implementation.

Is it possible to specify default arguments only for some middle arguments in a function, skipping the last ones?

  • Default arguments can only be specified for the first arguments.
  • Default arguments can only be specified for the last arguments.
  • No, default arguments must be specified for all or none of the function's arguments.
  • Yes, default arguments can be specified for middle arguments.
In C++, you can specify default arguments for some middle arguments while skipping the last ones. However, all arguments to the right of a default argument must also have default values.

In what scenarios should the use of inline functions be avoided?

  • When the function contains loops.
  • When the function is complex and large.
  • When the function is frequently called with a small amount of code.
  • When the function is used in a performance-critical section of code.
Inline functions should be avoided in scenarios where the function is complex and large. The purpose of inline functions is to reduce function call overhead, but in the case of large or complex functions, inlining can lead to code bloat, impacting performance and code maintainability. In such cases, it's better to use regular functions.

For a given function, once you start providing default values for arguments from the right, you cannot skip providing default values for subsequent arguments on the ______.

  • Left
  • Middle
  • None of the above
  • Right
For a function with default argument values, you can only provide default values for arguments starting from the right and not in the middle or left. Skipping arguments without default values in the middle would lead to a compilation error.

What is the main advantage of function overloading?

  • Better memory management
  • Faster execution of functions
  • Improved code readability and reusability
  • Smaller executable file size
The main advantage of function overloading is improved code readability and reusability. It allows you to use the same function name for logically related operations, making your code more intuitive and easier to understand. It also promotes code reusability by reducing the need to create distinct function names for similar tasks.

When declaring a function, which keyword is used to specify that the function should have a default argument?

  • #NAME?
  • const
  • default
  • default_argument
In C++, when declaring a function with default arguments, the = operator followed by a default value is used to specify the default argument. For example, int func(int a, int b = 0) declares a function func with a default argument of 0 for the parameter b.

When might an inline function increase the overall size of the compiled code?

  • When Used Sparingly
  • When Used in Critical Path Code
  • When Used in Header-Only Libraries
  • When Used in Isolated Modules
Inline functions can increase the overall size of the compiled code when used in header-only libraries. Since the function's code is included in each translation unit that includes the header, it can result in code duplication and larger executables.

The ternary operator, represented as ? :, can serve as a shorthand for a simple if-else statement.

  • ?else
  • ?if
  • ?then
  • ?when
The ternary operator, represented as ? :, provides a shorthand way to express a simple if-else statement. It evaluates a condition and returns one of two values depending on whether the condition is true or false. This concise syntax is often used to make code more compact and readable.

Michael wants to ensure that his overloaded function is chosen correctly during compile time, even in ambiguous cases. What practices should he follow?

  • Avoid using the same function name
  • Use a different return type
  • Use different parameter types
  • Use explicit type casting
To ensure that overloaded functions are chosen correctly during compile time, developers should use different parameter types. This helps the compiler distinguish between the various overloaded functions and select the appropriate one based on the provided arguments.

Sarah is creating a math library and wants to write a sum function that can add two integers, two floats, or an integer and a float. Which C++ feature should she use?

  • Function Overloading
  • Function Overriding
  • Operator Overloading
  • Type Casting
Sarah should use Function Overloading. This allows her to define multiple functions with the same name but different parameter types. In this case, she can create overloaded functions that accept different combinations of integers and floats to achieve the desired behavior for her sum function.