基础语法而已。
#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