初始化列表和构造函数
2015-07-22 01:55
375 查看
const的数据成员和需要用初始化列表,不能用普通的构造函数体内部进行初始化,这称为常数据成员。
const 有常引用,常对象,常数据成员,常成员函数
栈区:内存由系统来分配和释放
堆区:内存由程序员自己来分配和释放的
全局区
常量区
代码区:方法
构造函数与类同名
构造函数没有返回值
构造函数可以进行重载
当用户没有定义构造函数时,编译器自动生成一个构造函数
初始化列表先于构造函数执行,,初始化列表只能用于构造函数
初始化列表可以同时初始化多个数据成员
推荐使用初始化列表。
初始化列表和构造函数的区别
什么是默认构造函数?
就是无参的构造函数
.h文件
Teacher(string name = "james",int age = 1);/只在声明的时候写默认值
而在定义构造函数时候不用写默认值即:
.cpp文件
Teacher::Teacher(string name, int age){
m_strName = name;
m_iAge = age;
}
初始化列表
Teacher::Teacher(string name,int age):m_strName(name),m_iAge(age)
{
//null
}
main函数调用
Teacher t1;
Teacher t2("Merry",13);
const的数据成员需要用初始化列表,不能用普通的构造函数体内部进行初始化。
const 有常引用,常对象,常数据成员,常成员函数
栈区:内存由系统来分配和释放
堆区:内存由程序员自己来分配和释放的
全局区
常量区
代码区:方法
构造函数与类同名
构造函数没有返回值
构造函数可以进行重载
当用户没有定义构造函数时,编译器自动生成一个构造函数
初始化列表先于构造函数执行,,初始化列表只能用于构造函数
初始化列表可以同时初始化多个数据成员
推荐使用初始化列表。
初始化列表和构造函数的区别
什么是默认构造函数?
就是无参的构造函数
.h文件
Teacher(string name = "james",int age = 1);/只在声明的时候写默认值
而在定义构造函数时候不用写默认值即:
.cpp文件
Teacher::Teacher(string name, int age){
m_strName = name;
m_iAge = age;
}
初始化列表
Teacher::Teacher(string name,int age):m_strName(name),m_iAge(age)
{
//null
}
main函数调用
Teacher t1;
Teacher t2("Merry",13);
const的数据成员需要用初始化列表,不能用普通的构造函数体内部进行初始化。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息
- C++中拷贝构造函数的应用详解