基础语法而已。
#include <iostream> using namespace std; class Demo { public: Demo() { x = 0; cout << "Demo 的默认构造函数!" << x << endl; } Demo(int i) { x = i; cout << "Demo 的带一个参数的构造函数!!" << x << endl; } ~Demo() { cout << "Demo 的析构函数!" << x << endl; } int get_x() { return x; } void set_x(int i) { x = i; } private: int x; }; class Rectangle { public: Rectangle() { x = 1000; cout << "Rectangle 的默认构造函数!" << x << endl; } Rectangle(int i, int j, int k):x(i), width(j), length(k) { cout << "Rectangle 的带三个参数的构造函数!" << "长方形的面积 b 为:" << length.get_x() * width.get_x() << endl; } ~Rectangle() { cout << "Rectangle 的默认析构函数!" << x << endl; } int area() { return length.get_x() * width.get_x(); } private: Demo length; Demo width; int x; }; int main() { Rectangle rec(100, 200, 300); cout << "\n=========\n" << endl; Rectangle *rec1 = new Rectangle(100, 200, 300); delete rec1; return 0; }
输出:
Demo 的带一个参数的构造函数!!300 Demo 的带一个参数的构造函数!!200 Rectangle 的带三个参数的构造函数!长方形的面积 b 为:60000 ========= Demo 的带一个参数的构造函数!!300 Demo 的带一个参数的构造函数!!200 Rectangle 的带三个参数的构造函数!长方形的面积 b 为:60000 Rectangle 的默认析构函数!100 Demo 的析构函数!200 Demo 的析构函数!300 Rectangle 的默认析构函数!100 Demo 的析构函数!200 Demo 的析构函数!300
参考:《范磊:C++》P153