Final answer:
Overloading, inheritance, and constructor execution order in derived classes are true statements regarding C programming. Overloading allows operators to operate on different data types, inheritance supports reusability, and constructors are executed in a specific order for derived classes. Overloading is also a type of polymorphism. Therefore, the correct option is (3) (a), (b), and (d) only.
Step-by-step explanation:
(a) Overloading gives the capability to an existing operator to operate on other data types. This statement is true as overloading allows an operator to have multiple implementations, each suited for different data types. For example, the '+' operator can be overloaded to concatenate strings or perform arithmetic operations on numbers.
(b) Inheritance in object-oriented programming provides support for reusability. This statement is also true because inheritance allows a class to inherit the properties and methods of another class, enabling code reuse and promoting modularity in software development.
(c) When an object of a derived class is defined, first the constructor of the derived class is executed, then the constructor of the base class is executed. This statement is true as constructors are called in a top-down manner, starting from the base class constructor and then proceeding to the derived class constructor.
(d) Overloading is a type of polymorphism. This statement is true as overloading is a form of compile-time polymorphism where multiple functions with the same name but different parameter lists can be defined.
Therefore, the correct option is (3) (a), (b), and (d) only.
In summary, overloading indeed allows operators to work with various data types, object-oriented inheritance supports reusability, and overloading is a type of polymorphism. The order of constructor execution with inheritance (base before derived) was the only incorrect statement presented.
Let's evaluate each statement related to C:
Overloading provides the capability to an existing operator to work with different data types. This statement is true. Operator overloading allows operators to be used in ways specific to particular data types.
Inheritance in object-oriented programming provides support to reusability. This is true. Inheritance allows new classes to be derived from existing ones, allowing for code reuse and extension.
When an object of a derived class is created, it seems that the notion stated is that the constructor of the derived class is executed first, followed by the constructor of the base class. However, this is false. In reality, the base class constructor executes before the derived class constructor.
Overloading is a type of polymorphism. This statement is also true. Overloading, which includes operator overloading and function overloading, is a form of polymorphism where functions or operators act in different ways based on the context (i.e., the types of arguments passed to them).