类和对象(中)
文章目录
- 类和对象(中)
- 一、类的6个默认成员函数
- 二、构造函数
- 1.定义
- 2.特性
- 3.对特性的理解及几点注意事项
- 二、析构函数
- 总结
一、类的6个默认成员函数
如果一个类中什么成员都没有,简称为空类。
空类中真的什么都没有吗?不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。
默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。
二、构造函数
1.定义
我们在实现栈、队列等数据结构时,调用Init初始化,可能会忘记!导致崩溃出现随机值,
能不能保证对象一定被初始化?-- 构造函数(相当于一个初始化函数)
2.特性
构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,
但是构造函数的主要任务并不是开空间创建对象,而是初始化对象。
3.对特性的理解及几点注意事项
1.在构造函数时,如果存在缺省函数和半缺省参数的函数,有可能会出现调用歧义,存在二义性!
2.默认构造函数包括:无参的构造函数+全缺省的构造函数+我们没写编译器默认生成的构造函数
这些默认构造函数的特点:不用传参数就可以调用
3.关于编译器生成的默认成员函数,很多童鞋会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。但是看起来默认构造函数又没什么用?d对象调用了编译器生成的默认构造函数,但是d对象_year/_month/_day,依旧是随机值。也就说在这里编译器生成的默认构造函数并没有什么用??
4.默认生成构造函数,a:内置类型成员不做处理;b:自定义类型成员回去调用它的默认构造函数
5.对第5点的理解
如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦
用户显式定义编译器将不再生成。
二、析构函数
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。