行业知识
c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等
2026-10-31 15:55:57
来源:互联网转载
文章目录
- 前言
- 一、this指针
- 1.1、this指针的引出
- 1.2、 this指针的特性
- 二、类的默认的六个构造函数
- 2.1、构造函数简述
- 2.2构造函数
- 三、析构函数
- 3.1、析构函数引出
- 3.2、特点:
- 四、拷贝构造
- 4.1、引入
- 4.2、特征:
- 4.3、默认拷贝构造函数
- 总结
前言
在本节中,我将给大家介绍我们在学习C++中经常要用到的,this指针、类的六个默认成员函数、运算符重载等相关知识.
下面我会结合一个简单的类----日期类来介绍
后面需要时会补充相应的成员函数
class Date{public:void Display()//打印类对象中的内容{cout _year = year;_month = month;_day = day;}private:int _year; // 年int _month; // 月int _day; // 日}; Date d1, d2; d1.SetDate(2024,5,1); d2.SetDate(2024,6,1); d1.Display(); d2.Display(); return 0; }public:void Print_this(){cout Date d1, d2;d1.Print_this();//cout public:void Display(){cout public:void Display()//打印类对象中的内容{cout _year = year;_month = month;_day = day;}private:int _year; // 年int _month; // 月int _day; // 日};public: // 1.无参构造函数 Date() {} // 2.带参构造函数 Date(int year, int month, int day)//无返回值 { _year = year; _month = month; _day = day; }private: int _year; int _month; int _day;};void TestDate(){ Date d1; // 调用无参构造函数 Date d2(2024, 6, 1); // 调用带参的构造函数,用于初始化 // 注意:如果通过无参构造函数创建对象时,对象后面不用跟括号,否则就成了函数声明 // 以下代码的函数:声明了d3函数,该函数无参,返回一个日期类型的对象 Date d3();public: ~Date() { _year = 0; _month = 0; _day = 0; } Date(int year, int month, int day) { _year = year; _month = month; _day = day; } int _year; int _month; int _day;};int main(){ Date d2(2024, 6, 1); return 0;}public: Date(int year = 1900, int month = 1, int day = 1)//全缺省 { _year = year; _month = month; _day = day; } // Date(const Date d) // 错误--引发无穷递归 Date(const Date& d) // 正确写法 _year = d._year; _month = d._month; _day = d._day; }private: int _year; int _month; int _day;};int main(){ Date d1; Date d2(d1);//也可以写成Date d2=d1 return 0;}
上一篇:易语言源码循环结构深度解析
下一篇:按阶段奖励公式怎么设?