c++_初始化里列表_多态_动态分配_struct_引用
2018-02-03 04:11
239 查看
初始化列表
1: 对象实例化的时候,在调用构造函数之前,先按照初始化列表初始化成员,然后再进入构造函数的执行;
2: 初始化列表的格式:
构造函数():
a(0), b(3.5), c(4.6) {}
初始化列表
对象分配内存的时候,在执行构造函数之前来对成员进行初始化;
构造函数后面:每个变量初始化,称为初始化列表;
多态
1: 同一个函数名字不同的参数,这个我们称为”多态”;2: 成员函数多态;
3: 构造函数多态: 实例化的时候,根据参数来选取不同的构造函数;
4: 析构函数没有多态;
5: 多态: 函数是根据名字来判断的,返回值是不受影响的,比如
int test_func()与
void test_func()是不能同时存在的,不属于多态
函数名字相同,参数不一样称之为多态;
多态:
其实是俩个函数,只是在调用的时候,根据用户传递的参数来选择版本;
同一个名字,同样的参数,不同的返回值是否多态呢? 不是,报错;
返回值不能决定多态,编译器无法找到正确的版本,编译器具有二异性,只能报错;
构造函数也可以多态:实例化的时候,根据参数来选取不同的构造函数
析构函数没有多态;
-
C++ 动态内存分配
##1: 在堆上分配一个
C++的对象实例
(1)分配内存
(2)调用构造函数
2: 使用
new在堆上来分配:
new数据类型(基本数据类型,类)
new数组类型[数组个数];
3: 使用
delete来释放动态内存;
如果是数组要加上
delete [];
如果你
new的是一个实例
delete指针
如果你
new的是一个数组
delete[]指针
4:你
new一个对象,你要考虑这个对象在什么时候
delete,才不会有内存泄漏;
在堆上分配一个类的实例;
step1:分配内存;
step2:调用构造函数;
c/++里面使用
new来做动态内存分配;
使用
delete来释放动态内存;
step1:调用析构函数;
step2:把内存还给操作系统;
当
new一个对象时,要考虑什么时候
delete,才不会内存泄露;
New1000个
int的数组
step1:调用每个元素的析构函数;
step2:把内存还给操作系统;
分配10个
homan
c++的struct
结构体
1: C++的
struct兼容
C语言的;
2:
struct也是一个类,所以也可以加入成员函数,不过
struct默认的权限是
public,和
class这点不一样;
3: 具备类的特点,还能够兼容C的语法;
struct就是一个类;
兼容c的语法;
struct中如果没有指定权限,默认就是
public,这就是与
class的区别
类里面的其它属性,都适合于
struct
-
引用类型
1:C++有一个新的数据类型,引用类型;
2: 引用是对象内存的”别名”,使用这个别名也能访问对应的内存对象;
3:
C语言要修改内存可以传指针,
C++要修改内存可以传递变量地址,和变量引用;
变量的别名叫做引用,是一种数据类型;
定义一个引用:xxxx的引用 变量;
跟对应类的大小是一样的,
引用变量是内存的别名,;
s_link是
s的别名,代表的是同一块内存
没有办法独立一个变量;
指针与引用传递的区别;
引用的本质,和变量是同一块内存,只是这块内存的另外名字;
操作内存即可传引用,也可传指针,但引用不会发生实例化的重新拷贝;
传引用比较高效
总结
1: 掌握c++初始化列表;
2: 掌握
c++的多态,和构造函数多态;
3: 掌握
c++ new/delete;
4: 掌握
struct
5: 掌握
C++的引用数据类型;
–》源代码
相关文章推荐
- c/c++初始化动态列表、多态、动态分配、struct、引用
- C++的const和引用只能在初始化列表里初始化而不能在构造函数体内赋值初始化
- C++ 怎么在默认构造函数的初始化列表中初始化指针或者引用类型数据成员
- C/C++ struct初始化/复制/内存分配技巧
- C++内存动态分配和引用
- C/C++ struct初始化/复制/内存分配技巧
- C++ 动态分配数组空间,以及opencv中Mat类的初始化
- 从零开始学C++之构造函数与析构函数(二):初始化列表(const和引用成员)、拷贝构造函数
- C/C++ struct初始化/复制/内存分配技巧
- C++中构造函数、参数列表、析构函数、拷贝构造函数、动态分配的数组变量的删除的简单例子
- C/C++ struct初始化/复制/内存分配技巧
- 从零开始学C++之构造函数与析构函数(二):初始化列表(const和引用成员)、拷贝构造函数
- C/C++ struct初始化/复制/内存分配技巧
- C/C++ struct初始化/复制/内存分配技巧
- 从零开始学C++之构造函数与析构函数(二):初始化列表(const和引用成员)、拷贝构造函数
- C++用new动态分配数组内存后用()进行初始化
- C/C++ struct初始化/复制/内存分配技巧
- C++语法 初始化列表 数组引用
- C++成员初始化列表使用总结
- C++ 多继承构造函数初始化列表调用顺序