c++在类的声明中初始化私有成员变量
2021/11/14 14:40:02
本文主要是介绍c++在类的声明中初始化私有成员变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
c++在类的声明中初始化私有成员变量
- 之前的学习都没有做博客记录一下,心血来潮想试一下,记录一下自己的学习历程,方便自己复习,大家见笑了。
- 这个做法是突然想到,查了一下确实允许这样的做法,自己随便写的头文件 time.h
class Time { private: int hours = 3; //c++ 11 允许这样的定义 int mins = 2; public: Time(int = 2, int = 3); Time(const Time & a); ~Time(); void show(); Time operator+(const Time & a)const; };
- c++ 11 中允许在类的声明中将私有成员赋值,但是这样做很蠢,我觉得毛用没有,因为类中只有一个默认构造函数,用Time()就不能传参,用Time(int = 2,int = 3)完全也没必要在类的声明中那样做,所以我不会在声明中初始私有成员变量,可能他一定不改变的时候会用?`
下面是类的cpp文件和main函数,我合在一起了
#include <iostream> #include"time.h" using namespace std; Time::Time(int h, int m) { hours = h; mins = m; } Time::Time(const Time & a) { hours = a.hours; mins = a.mins; } Time::~Time() { cout << "Time is over " << hours << mins << endl; } Time Time:: operator+(const Time & a)const { Time sum; sum.hours = hours + a.hours; sum.mins = mins + a.mins; return sum; } void Time::show() { cout << hours << "," << mins << endl; } int main() { Time old; Time new1(1, 2); Time new2(new1); old.show(); new1.show(); Time haha = old + new1; haha.show(); new2.show(); }
结果
- 调用构造函数可以只给一个参数,按声明中参数的顺序排列初始化,给的一个参数就对应第一个,给两个就对应前两个参数
- 函数声明和定义中的参数顺序要一致
这篇关于c++在类的声明中初始化私有成员变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04el-table 开启定时器下,表格的选中状态会消失是什么原因-icode9专业技术文章分享
- 2024-10-03如何安装和初始化飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03如何安装 App 并连接到飞牛 NAS?-icode9专业技术文章分享
- 2024-10-03如何安装飞牛 TV 并连接到影视服务器?-icode9专业技术文章分享
- 2024-10-03如何在PVE和ESXI上安装飞牛私有云 fnOS?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS安装系统异常情况处理-icode9专业技术文章分享
- 2024-10-03飞牛NAS如何创建存储空间?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS硬盘会自动休眠吗?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何安装飞牛影视和创建媒体库?-icode9专业技术文章分享
- 2024-10-03fnOS国产最强NAS如何为家人朋友开通影视账号?-icode9专业技术文章分享