类的默认成员函数

类的默认成员函数

1.构造函数
1.1概念
构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。
2.2特性
1.成员函数名与类名相同。
2.无返回值。
3.对象构造时编译器会自动调用构造函数。
4.构造函数可以重载。
5.构造函数可以在类中定义,也可以在类外定义。
6.如果用户没有显示定义构造函数,则编译器会自动生成一个无参的默认构造函数,如果用户显示定义了编译器则不生成。
7.无参的构造函数和全缺省的构造函数都是缺省构造函数,并且缺省的构造函数只有一个。
2.析构函数
2.1概念
与构造函数正好相反,在对象呗销毁时,编译器会自动调用,完成类的一些资源清理。
2.2特性
1.析构函数在函数名前加~
2.无返回值。
3.一个类只有一个析构函数,若没有显示定义,编译器会自动生成。
4.在对象生命周期结束后,编译器会自动调用析构函数。
3.拷贝构造函数
3.1概念
只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在对已存在的类类型对象创建新对象时由编译器自动调用。
3.2特性
1.拷贝构造函数是构造函数的一种重载形式。
2.拷贝构造函数的参数只有一个且必须使用引用传参,使用传值方式会应发无穷递归调用。
3.若未显示定义,则系统会自动生成默认的拷贝构造函数。默认的的拷贝构造函数会对定义成员顺序进行拷贝构造的类成员初始化。
4.赋值运算符的重载
4.1概念
运算符重载是具有特殊函数名的函数,也具有返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似,函数名字为:关键字 operator后面接重载运算符。
注意:
1.重载操作符必须有一个类类型或枚举类型的操作数。
2.用于内置类型的操作符,其含义不能改变。
3.操作符重载函数有一个默认的形参this指针,限定为第一个参数。
4.2主要特点
1.参数类型。
2.返回值。.
3.检测是否自己给自己赋值。
4.返回*this。
5.const成员
5.1 const修饰普通变量
在C++中,const修饰的变量会成为一个常量,具有宏的属性,即在编译期间对const修饰的变量进行替换。
5.2 const修饰成员函数
将const修饰成员函数时,意味着修饰的是this指针,表示不能对成员函数里类的成员进行任何修改。
6.取地址操作符重载
取地址操作符一般情况下不需要重载,系统会给出默认成员函数,只有在特殊情况下才需要进行重载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值