还是那句话,我们继续在简单的代码中,体会学习C++,本节主要是体会学习类的进阶知识.
一.构造函数与析构函数
当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。
构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作,最常见的就是对成员变量赋值。
创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作(例如回收创建对象时消耗的各种资源),这个函数被称为析构函数。
析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要用户调用,而是在销毁对象时自动执行。与构造函数不同的是,析构函数的名字是在类名前面加一个”~“符号。
#include <iostream> using namespace std; class Student { public: //构造函数,用参数初始化列表初始化 Student(string name1, int age1, float score1):name(name1), age(age1), score(score1){} //析构函数 ~Student(); //普通成员函数 void say(); private: string name; int age; float score; }; Student::~Student() { cout<<name<<"再见"<<endl; } void Student::say() { cout<<name<<"的年龄是 "<<age<<",成绩是 "<<score<<endl; } int main() { Student stu1("小明", 15, 90.5f); stu1.say(); Student stu2("李磊", 16, 95); stu2.say(); Student stu3("王爽", 16, 80.5f); stu3.say(); cout<<"main 函数即将运行结束"<<endl; return 0; }
本文出自 “LinuxQt济南高新区” 博客,请务必保留此出处http://qtlinux.blog.51cto.com/3052744/1695830
原文地址:http://qtlinux.blog.51cto.com/3052744/1695830