📄 constructor.cpp
字号:
#include <iostream.h>
class Point // 定义基类Point
{
protected:
int x, y;
public:
Point(int a=0, int b=0) // 含有缺省参数值的构造函数也是默认的构造函数
{ x=a; y=b; cout<<"Point constructor:"<<'['<<x<<','<<y<<']'<<endl; };
~Point()
{ cout<<"Point destructor:"<<'['<<x<<','<<y<<']'<<endl; };
};
class Circle : public Point // 定义类Point的派生类
{
protected:
int radius;
public:
Circle(int a=0, int b=0, int r=0) : Point(a, b) // 显式调用基类的构造函数
{ radius=r; cout<<"Circle constructor:"<<'['<<radius<<']'<<'['<<x<<','<<y<<']'<<endl; };
~Circle()
{ cout<<"Circle destructor:"<<'['<<radius<<']'<<'['<<x<<','<<y<<']'<<endl; };
};
class Cylinder : public Circle // 定义类Circle的派生类
{
protected:
int height;
public:
Cylinder(int a=0, int b=0, int r=0, int h=0) : Circle(a, b, r) // 显式调用基类的构造函数
{ height=h; cout<<"Cylinder constructor:"<<'['<<height<<']'<<'['<<radius<<']'
<<'['<<x<<','<<y<<']'<<endl; };
~Cylinder()
{ cout<<"Cylinder destructor:"<<'['<<height<<']'<<'['<<radius<<']'<<'['<<x<<','<<y<<']'<<endl; };
};
main()
{
Cylinder cylinder(200, 300, 100, 400); // 调用了类Point、Circle和Cylinder的构造函数
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -