#include <iostream> #include <new> using namespace std; class powers { int x; public: powers() { x = 0; cout << "\nno initializer\n\n"; } powers(int n) { x = n; cout << "\n\ninitializer:" << x; } int getx() { return x; } void setx(int i) { x = i; } }; int main() { powers ofTwo[] = {1, 2, 4, 8, 16}; // initialized powers ofThree[5]; // uninitialized }
initializer:1 initializer:2 initializer:4 initializer:8 initializer:16 no initializer no initializer no initializer no initializer no initializer
9.2.constructor | ||||
9.2.1. | A parameterized constructor | |||
9.2.2. | Use constructor to initialize class fields | |||
9.2.3. | Initialize variables and conduct calculation in constructor | |||
9.2.4. | Overload the constructor | |||
9.2.5. | Copy constructors | |||
9.2.6. | Constructor as conversion operator | |||
9.2.7. | Virtual copy constructor | |||
9.2.8. | overload constructor | |||
9.2.9. | Overload constructor two ways: with initializer and without initializer | |||
9.2.10. | Call class constructor or not during class array declaration | |||
9.2.11. | Call default constructor when allocating an array dynamically | |||
9.2.12. | Call constructor from base class to initialize fields inherited from base class | |||
9.2.13. | Overload constructor for different data format | |||
9.2.14. | Defining and using a default class constructor | |||
9.2.15. | Constructor parameter with default value | |||
9.2.16. | If a constructor only has one parameter | |||
9.2.17. | The default constructor for class X is one that takes no arguments; |