本文共 985 字,大约阅读时间需要 3 分钟。
构造函数:
1. 构造函数定义及调用
1) c++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的函数叫做析构函数;
2) 构造函数在定义时可以有参数;
3) 没有任何返回类型的声明
2. 构造函数的调用:
自动调用:一般情况下c++编译器会自动调用构造函数
手动调用: 在一些情况下则需要手工调用构造函数
有关析构函数:
3. 析构函数的定义及调用
1) c++中的类可以定义一个特殊的成员函数清理对象,这个特殊的成员函数叫做析构函数,语法: ~ClassName()
2) 析构函数没有参数也没有任何返回类型的声明
3) 析构函数在对象销毁时自动被调用
4. 析构函数的调用
c++编译器自动调用
看如下代码和输出(注意,在调用析构函数时,先创建的对象,后调用,注意查看输出):
#define _CRT_SECURE_NO_WARNINGS #includeusing namespace std;class Test{public: Test() //无参数 构造函数 { a = 10; //作用完成对属性的初始化工作 p = (char*)malloc(100); strcpy(p, "aaaaffff"); cout << "我是构造函数 被执行了" << endl; } void print() { cout << p << endl; cout << a << endl; } ~Test() //析构函数 { if (p != NULL) { free(p); } cout << a <<" "<<"我是析构函数,被调用了" << endl; } void setA(int b) { a = b; }protected:private: int a; char* p;};//给对象搭建一个舞台,研究对象的行为void objplay(){ //先创建的对象 后释放 Test t1; t1.print(); printf("分隔符\n"); Test t2; t2.setA(20); t2.print();}void main(){ objplay(); cout << "hello..." << endl; system("pause"); return;
输出:
转载地址:http://ihzmi.baihongyu.com/