系列文章目录
重新复习c++,所以把书中的重点内容整理成博客,尽量简洁,易懂。
C++ 类与对象_类和对象的定义与访问 (定义类和对象,访问对象成员,this指针)
前言
当一个变量的生存期结束时,系统会自动回收这个存储单元,当建立一个用户定义的类类型对象时,也需要类似的工作,类体系结构复杂,建立对象的初始化工作和释放工作变化很大,需要用户自定义构造函数和析构函数。
构造函数和析构函数应该定义在公有部分,因为对象必须在类外创建和撤销。
一、带参数/不带参数的构造函数
构造函数名与类名相同,可以有任意类型的参数,不能有返回类型,建立类对象时自动调用。
析构函数在类名前加一个“~”,析构函数没有参数,没有返回类型,在类对象作用于结束时自动调用。
一段代码辅助理解:
#include<iostream>
using namespace std;
class Date {
public:
Date(int, int, int);
~Date();
void SetDate(int, int, int);
void print();
private:
int year, month, day;
};
Date::Date(int x, int y, int z)
{
year = x;
month = y;
day = z;
cout << "begin!" << endl;
}
Date::~Date()
{
cout << year << " " << month << " " << day << endl;
cout << "complete"<<endl;
}
void Date::SetDate(int a,int b,int c)
{
year = a;
month = b;
day = c;
}
void Date::print()
{
cout<< year << " " << month << " " << day << endl;
}
int main()
{
Date d1(1999, 7, 13);
Date d2(2003, 8, 15);
d1.SetDate(2020, 7, 13);
d1.print();
d2.print();
}
输出结果为: