深入探索构造函数
来源:互联网 发布:卓智网络 锐捷 拉萨 编辑:程序博客网 时间:2024/06/01 10:49
构造函数的初始化问题
大致分为以下几类:
( 1 )全缺省参数初始化, 不用传参。
(2)半缺省参数初始化, 只需传部分参数。
(3)无缺省参数初始化,定义多少个成员变量,传多少个参数。
(4)使用初始化列表初始化,此类初始化更加高效,建议初始化的顺序与声明的顺序相同。
首先定义一个日期类如下:
class Date{public: //全缺省参数 Date(int year=2017, int month=7, int day=1) { _year = year; _month = month; _day = day;} //半缺省参数 { Date(int year, int month=1, int day=1) { _year = year; _month = month; _day = day;} //无缺省参数 { Date(int year, int month, int day) { _year = year; _month = month; _day = day;} //初始化列表初始化 { Date(int year, int month=1, int day=1) :_year(year) ,_month(month) ,_day(day) {}private:int _year;int _month;int _day;};void TestDate(){ Date d1(); Date d2(2018); Date d3(2017, 7, 1);}
思考为什么初始化列表更加的高效?
因为使用初始化列表相当于在声明变量的时候就初始化了,省去了传参过程中的开销,因此会更加的高效,而且使用初始化列表进行初始化的顺序与声明变量的顺序是相同的,因此建议初始化列表初始顺序与声明顺序一致。
阅读全文
0 0
- 深入探索构造函数
- 深入探索C++对象模型--C++构造函数
- 深入探索C++对象模型之拷贝构造函数
- 深入探索C++对象模型之构造函数扩展
- 构造函数探索
- 【深入探索c++对象模型】c++中构造函数调用虚函数的讨论
- 深入探索C++对象模型 第二章 构造函数语意学
- 深入探索C++对象模型:第二章构造函数语意学
- 深入探索C++对象象模型--拷贝构造函数、对象模型
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(上)
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(中)
- [读书笔记] 深入探索C++对象模型-第二章《构造函数语义学》(下)
- 深入探索C++对象模型之二 --- 构造函数语意学
- 《深入探索C++对象模型》第二章:构造函数语意学(上)
- 《深入探索C++对象模型》第二章:构造函数语意学(下)
- 《深入探索C++对象模型》读书笔记——第二章 构造函数语意学
- 深入C++构造函数
- 深入构造函数
- [通信题] JOI Open Contest 2017 Amusement Park
- RQNOJ愚蠢的矿工
- 蓝牙L2CAP【CID分配】【L2CAP层图解】
- 每日英语阅读(二)
- xUtils3 Https请求报错:javax.net.ssl.SSLPeerUnverifiedException: Hostname ***.****.**not verified,跳过证书检测
- 深入探索构造函数
- 前缀树Trie
- Cleaning Shifts(区域覆盖)
- 正则匹配
- JAVAWEB开发之redis学习(二)——string相关的操作命令
- bzoj2654 二分+最小生成树
- unity射线检测
- Java 之伪泛型
- 斗地主之用蚁群算法整理牌型-几个关键点的处理