Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1. Study the header file code in the following code snippet: #ifndef CASHREG?STE

ID: 3902037 • Letter: 1

Question

1. Study the header file code in the following code snippet: #ifndef CASHREG?STER H #de fine CASHREG?STER H class CashRegister public: CashRegister CashRegister (double new_balance); void open balance (; void set balance (double new balance) void close_balance ) double get_balance ) const; private: double balance; CashRegister:: CashRegister( balance 0; # endif Which of the following is true about placing the function definition CashRegister: :CashRegister ) in the header file? Function definitions cannot be enclosed within header files. It will result in a compilation error. Function definitions should not be enclosed within header files. The header file may be included by multiple source files, which would cause the function to be compiled more than once Function definitions must always be enclosed within the header files but not the source files. Function definitions must always be enclosed within the header files and the source files. a) b) c) d)

Explanation / Answer

Answer: b

As header files are included in multiple source (.cpp) files, including function definitions in header files will result in duplicate implementations and will cause problem during linking phase.

The function definition must be defined in one source file that includes the header file.