14章 类 part 1
2021/12/1 23:10:21
本文主要是介绍14章 类 part 1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
14.1成员函数、对象复制与私有成员
14.1.1类的相关基础
1.类的构成:成员变量以及成员函数;
2.访问类的成员,如果用类的对象来访问,那么则是“对象名.成员名”;如果是对象的指针来访问,那么则是“指针名->成员名”;
3 struct和class的区别:
- struct 和 class 都可以自定义数据类型,也支持继承操作。
- struct 中默认的访问级别是 public,默认的继承级别也是 public;class 中默认的访问级别是 private,默认的继承级别也是 private。
- 当 class 继承 struct 或者 struct 继承 class 时,默认的继承级别取决于 class 或 struct 本身, class(private 继承),struct(public 继承),即取决于派生类的默认继承级别。
tip:建议把只有成员的变量设置为struct;
14.1.2成员函数
成员函数的定义:
class Time { public: int Hour; int Minute; int Second; void initTime(int tmphour, int tmpmin, int tmpsec) //成员函数 { Hour = tmphour; Minute = tmpmin; Second = tmpsec; }
14.2构造函数、explicit与初始化列表
14.2.1
构造函数的写法
class A { public: { void myfunc() { 实现代码 } } } //写法2 class A { public: { void myfunc() } } void A::myfunc() { 实现代码 }
14.2.2构造函数
1.构造函数在创建类对象时被自动调用;
2.构造函数是为了初始化类的数据成员
构造函数的实现:
Time::Time(int tmphour, int tmpmin, int tmpsec) :Hour(tmphour),Minute(tmpmin) //这就叫构造函数初始化列表 { Hour = tmphour; Minute = tmpmin; Second = tmpsec; initMillTime(0); }
注意事项:1.构造函数无返回值
2.不可手动调用构造函数
3.构造函数是public函数,因为他要被系统调用
4.构造函数如果有参数,那么其在创建对象时也应该有相应的参数
Time myTime = Time(12, 13, 52); Time myTime2(12, 13, 52); Time myTime3 = Time{ 12, 13, 52 }; Time myTime4{ 12, 13, 52 }; // Time myTime5 = { 12, 13, 52 }; //Time myTime6(); //这不可以,没参数,可能被编译器误认为是函数声明 //Time myTime7(12, 13); //不可以,缺少参数
14.2.3多个构造函数
一个类可以提供多个构造参数,代表着可以为这个类提供多种创建的方法;
14.2.4函数默认参数
若将构造函数写为如下形式
Time::Time(int tmphour, int tmpmin, int tmpsec=12)
那么可以只传递两个参数给构造函数;
14.2.5隐氏转换和explicit
加上explicit声明表示构造函数必须进行显示转换;
这篇关于14章 类 part 1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南