c++ 总结
来源:互联网 发布:keep软件注册昵称格式 编辑:程序博客网 时间:2024/06/05 19:36
一、overload override overwrite
1、overload 重载
相同的范围
函数名相同
参数不同,返回值不在检测之列
virtual可有可无
2、override 重写()
派生类与子类
函数名相同
参数相同,返回值也相同
必须要有virtual,即通过虚函数实现
3、overwrite
派生类中的函数覆盖了基类中的函数
派生类与子类
函数名相同
参数相同
二、虚基类
解决多个父类问题。
三、多态
程序经过编译、链接、执行。
静态联编:运行前完成联编要求程序在编译就知道调用函数的全部信息,效率高。
动态联编:运行时确定调用函数的全部信息,灵活、易于维护。
静态联编支持的多态称为编译时多态,也称为静态多态。主要通过函数重载(包括运算符重载)和模板实现。
动态联编支持的多态称为运行时多态,也称为动态多态。主要通过虚函数实现。
四、C++中内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区
http://blog.csdn.net/i_better/article/details/51861181
栈:由编译器在需要的时候分配,不需要的时候自动清除的变量的存储区,通常是局部变量、函数参数等。
堆:通过new分配的内存块,编译器不会管,由程序控制,new delete,如果没有通过程序释放,程序结束后,操作系统释放。
全局/静态存储区:全局变量和静态变量。
常量存储区:存放常量,不允许修改。
自由存储区:由malloc等分配的内存,和堆相似,由free释放。
函数代码放在代码区。
五、const
1、
//指向常量的指针
//指针指向的对象不可以改变,但指针本身的值可以改变char *ptr1="1234";
char *ptr2="5678";
const char *ptr=ptr1;//"01234";
ptr=ptr2;
//ptr[1]='1';//非法
ptr1[0]='9';
cout<<*ptr<<endl;
2、
//常指针//指针本身的值不可改变,但其指向的对象可以改变。
char* const ptr3="678";
ptr3[0]='9';
//ptr3=ptr1; //非法
cout<<*ptr3<<endl;
3、
//指向常量的常指针
const char* const ptr4="0987";
//ptr4[0]='1';//非法
//ptr4=ptr3; //非法
cout<<*ptr4<<endl;
4、
//定义常量
const int pai=3.1415926;
5、
//常引用
//对常量(const)的引用,不能修改其绑定的对象。
- C总结
- C 总结
- 【C++】总结
- 【C#】总结
- C---------------------总结
- c总结
- C#--总结
- c 总结
- c总结
- C总结
- C 总结
- 【总结】C语言总结!!!
- 数据类型总结 (C++,C#)
- [C语言]C总结
- 数据类型总结(C++,C#)
- 【C/C++】排序总结
- C/C++/VC随机数总结
- 【C/C++】realloc使用总结
- JavaScript的六种继承方式
- VR丨有哪些靠谱的VR开发工具之引擎篇
- 现有Android项目引入ReactNative--九步大法
- Android App发布流程----签名
- Dungeon Master BFS
- c++ 总结
- C语言的五种存储类
- Mongodb的那些儿事
- 归并排序算法
- hdu1166敌兵布阵(树状数组模板题)
- 【FFmpeg杂记】音频解码输出PCM格式数据分析
- C++保护成员
- 删除链表中的元素
- 欢迎使用CSDN-markdown编辑器