Final answer:
Constructors and destructors are called at the beginning and end of a block scope, respectively. Constructors initialize objects as soon as they are created within a block, while destructors clean up resources when the block is exited and the object goes out of scope.
Step-by-step explanation:
When are constructors/destructors called for objects at BLOCK scope? The answer is c. Both at the beginning and end of the block.
Constructors are special methods of a class in object-oriented programming that are automatically called when an object is instantiated (created). For objects with block scope, which typically means local objects within a function or a section delimited by curly braces, the constructor is called at the point of definition within the block.
On the opposite end, destructors are called for these objects when the block in which they are defined is exited. A destructor is also a special method of a class that is automatically invoked when an object is about to be destroyed or goes out of scope. Destructors are useful for releasing resources that the object might have acquired during its lifetime.