构造函数对数据成员进行初始化的方法
来源:互联网 发布:socket网络通信流程 编辑:程序博客网 时间:2024/04/29 18:39
1.常规方法:
假设定义了如下类:
class TableTennisPlayer{ private: string firstName; string lastName; bool hasTable; //该球员是否有球桌 public: TableTennisPlayer(string & fn, string & ln, bool ht = true); void name() const; bool hasTable() const; void resetTable(bool b);}则实现这个类的构造函数的常规方法如下:
TableTennisPlayer::TableTennisPlayer(string & fn, string & ln, bool ht){ firstName = fn; lastName = ln; hasTable = ht;}2.也可以使用如下方法:
TableTennisPlayer::TableTennisPlayer(string & fn, string & ln, bool ht) :firstName(fn), lastName(ln), hasTable(ht) {}3.当类的数据成员中有const int Size;这种const修饰的数据成员时,必须使用上面的第二种方法,如下例:
假设有如下Queue类:
class Queue{ private: int currentNum; //队列的当前人数 const int historyNum; //队列的历史上所有的人数之和 public: Queue(int cn, int hn);};因为historyNum是const类型,所以只能用如下方式写构造函数:
Queue::Queue(int cn, int hn) :historyNum(hn){ currentNum = cn;}而currentNum没用const修饰,所以可以用上述的两种方法中的任何一种都行,即如下方式也行:
Queue::Queue(int cn, int hn) : historyNum(hn), currentNum(cn) {}
0 0
- 构造函数对数据成员进行初始化的方法
- 必须在构造函数初始化列表里进行初始化的数据成员有哪些
- 三角形类的构造函数-使用参数初始化表对数据成员初始化
- 使用构造方法对student类的成员变量进行初始化
- 构造函数调用构造函数进行数据成员初始化问题(极易出错)
- 第3周-项目1-三角形类的构造函数-使用参数初始化表对数据成员初始化
- 没有默认构造函数的问题, 对于类成员变量有别的类成员,则在类 构造函数中也必须对那个类成员变量进行初始化,除非那个类 成员有默认构造函数
- c++中对不同的数据成员进行初始化
- C++类对象数据成员的构造函数初始化顺序
- 构造函数必须要初始化的数据成员
- C++中默认构造函数中数据成员的初始化
- 三角形类(在构造函数中使用参数初始化表对数据成员初始化)
- 五周 项目1.4 在构造函数中使用参数初始化表对数据成员初始化
- 第五周项目1.4在构造函数中使用参数初始化表对数据成员初始化
- 项目1.4在构造函数中使用参数初始化表对数据成员初始化
- C++构造函数对类成员变量初始化,使用初始化列表和构造函数内部直接赋值 的区别
- 构造函数的成员初始化参数表
- 构造函数的成员初始化列表
- little white hack time
- Android闹钟最终版【android源码闹钟解析】
- 南阳32 组合数——练习回溯深搜
- java并发编程-Executor框架
- android开发之interpolator的用法详解
- 构造函数对数据成员进行初始化的方法
- java学习笔记
- SAP所有用户出口列表(4.6C)(续)
- xinfan
- Slate教学管理工具简介
- centos6下KVM安装及虚机网卡问题解决
- Friend Chains(spfa)
- 总结Spring Set注入方式及对property标签的理解
- Android使用socket使底层和framework通信