这次笔记介绍构造函数、析构函数、函数多态、抽象类、函数模板
一、构造函数
1、在定义对象,构造函数程序将自动执行,他的类型跟类名一致
函数声明最好放在自己的类里面,这样才符合类的封装,也可以像下面一样(较麻烦)
#include <iostream>
using namespace std;
class Drgon
{
public:
Drgon(void);
Drgon(string str);
void fun(void); //把作用去掉
};
Drgon::Drgon(void) //无参数的构造函数
{
cout << "执行构造函数1" << endl;
}
Drgon::Drgon(string str) //带参数的构造函数
{
cout << "执行构造函数2:" << str <<endl;
}
void Drgon::fun(void) //普通类函数
{
cout << "普通执行函数" << endl;
}
int main(void)
{
Drgon *drg1 = new Drgon();
Drgon *drg2 = new Drgon("000");
Drgon *drg3 = new Drgon;
drg3->fun();
return 0;
}
二、析构函数
析构函数是“反向”的构造函数。它们在对象被撤消(回收)时调用。析构函数的名称除了最前面的“~”符号外,与类的名称相同,类String的析构函数是~string()。 析构函数通常用于当一个对象不再需要时,完成“消除”功能。