c++知识点
来源:互联网 发布:井柏然毁了肖奈 知乎 编辑:程序博客网 时间:2024/06/03 18:16
C: 面向过程 流程图
C++: 面向对象 类图 封装 继承 多态
struct 可以为空 sizeof(struct) = 1 // 占位符;
struct 与 class 的区别:默认成员访问权限不同(struct 默认为public,class默认为private);
类的大小为其普通数据成员的大小之和;
多个虚函数只有一个虚指针;
将不同类型数据以及与这些数据相关的操作封装在一起的集合即类,类不占据内存空间;
类的声明,类的实现,main()各一个文件;
函数重载:
1 函数名相同(同一个类)
2 函数参数列表不同
3 和函数返回值类型无关
4 常成员函数可以构成重载(函数后面带const);
inline与否由编译器判断函数是否符合要求决定;
非静态成员函数默认有this指针,在用本类对象调用成员函数时,将本对象的地址隐含地传递给了this指针;
构造函数名与类名相同,构造函数无返回值类型,在类对象定义时自动被调用。若类中无构造函数,系统提供默认构造函数,否则默认构造函数不存在,构造函数可以重载;
explicit关键字用于限定类不能进行类型转换;
类的初始化:传参——开辟数据成员内存空间——按数据成员的声明顺序执行成员初始化列表(对象优先);
引用和指针的区别?
引用相当于另一个变量的别名 引用被初始化后无法再被修改,相当于常指针 引用本身的地址被引用的值的地址覆盖,无法获取;
析构函数:~类名,无参,不能重载,没有返回类型,一个类有且仅有一个析构函数;
类的成员函数可以访问当前对象的私有成员,也可访问类的他对象的私有成员;
copy构造函数参数类型为何为&?若参数类型为类类型,实参传给形参又会调用copy构造函数,形成递归调用;
copy构造函数调用的情况:
1 函数传参
2 返回值
3 用已有对象初始化同类新对象;
new,delete与malloc,free的区别?
1 new,delete是C++运算符,而malloc,free是库函数
2 new,delete可以自动调用构造函数,析构函数,而malloc,free只能为类开辟内存空间,无法调用构造函数初始化对象;
浅copy无法实现资源copy;
若类中有指针作为数据成员,then 自定义copy函数和析构函数counts;
依赖关系 关联 包含关系{聚合,组合} 继承关系;
OOA——OOD——OOP ; //system analysis design programming
C++: 面向对象 类图 封装 继承 多态
struct 可以为空 sizeof(struct) = 1 // 占位符;
struct 与 class 的区别:默认成员访问权限不同(struct 默认为public,class默认为private);
类的大小为其普通数据成员的大小之和;
多个虚函数只有一个虚指针;
将不同类型数据以及与这些数据相关的操作封装在一起的集合即类,类不占据内存空间;
类的声明,类的实现,main()各一个文件;
函数重载:
1 函数名相同(同一个类)
2 函数参数列表不同
3 和函数返回值类型无关
4 常成员函数可以构成重载(函数后面带const);
inline与否由编译器判断函数是否符合要求决定;
非静态成员函数默认有this指针,在用本类对象调用成员函数时,将本对象的地址隐含地传递给了this指针;
构造函数名与类名相同,构造函数无返回值类型,在类对象定义时自动被调用。若类中无构造函数,系统提供默认构造函数,否则默认构造函数不存在,构造函数可以重载;
explicit关键字用于限定类不能进行类型转换;
类的初始化:传参——开辟数据成员内存空间——按数据成员的声明顺序执行成员初始化列表(对象优先);
引用和指针的区别?
引用相当于另一个变量的别名 引用被初始化后无法再被修改,相当于常指针 引用本身的地址被引用的值的地址覆盖,无法获取;
析构函数:~类名,无参,不能重载,没有返回类型,一个类有且仅有一个析构函数;
类的成员函数可以访问当前对象的私有成员,也可访问类的他对象的私有成员;
copy构造函数参数类型为何为&?若参数类型为类类型,实参传给形参又会调用copy构造函数,形成递归调用;
copy构造函数调用的情况:
1 函数传参
2 返回值
3 用已有对象初始化同类新对象;
new,delete与malloc,free的区别?
1 new,delete是C++运算符,而malloc,free是库函数
2 new,delete可以自动调用构造函数,析构函数,而malloc,free只能为类开辟内存空间,无法调用构造函数初始化对象;
浅copy无法实现资源copy;
若类中有指针作为数据成员,then 自定义copy函数和析构函数counts;
依赖关系 关联 包含关系{聚合,组合} 继承关系;
OOA——OOD——OOP ; //system analysis design programming
0 0
- c知识点
- C 知识点
- C/C++code知识点
- C/C++【知识点笔记】
- C基础知识点小记
- c#知识点 net
- C/C++知识点1
- c语言知识点
- C/C++面试知识点
- C语言知识点
- object-c 知识点
- [C++]指针知识点小结
- Objective-C知识点汇总
- Objective-C语言知识点
- C知识点累积篇
- C语言常见知识点
- c语言知识点补遗
- c语言知识点补遗
- C/S和B/S的区别
- 300. Longest Increasing Subsequence
- 【Android实测】多个apk类似-多渠道共存打包
- 阿里巴巴Java代码开发规范
- Serlvet知新
- c++知识点
- 深入理解DOM事件类型系列第六篇——加载事件
- Android listview 在OnItemClick初出现下标越界 java.lang.IndexOutOfBoundsException
- Linux内核定时器
- C#验证代理Ip地址
- thinkphp5.x中集成微信JS-SDK
- vmware 安装centos7问题
- ruby 学习笔记
- Android自定义view 圆环进度条