C++
Erupt9001
这个作者很懒,什么都没留下…
展开
-
虚析构和纯虚析构
虚析构:class Base{public: virtual ~Base() {函数体}}纯虚析构:class Base{public: virtual ~Base()=0;}Base::~Base(){函数体}虚析构写成纯虚析构后还得在类外进行定义。而且虚析构和纯虚析构在子类析构之后都会被调用。纯虚析构的引入是不是有点多此一举呢?在基类中使用...原创 2020-03-27 22:19:33 · 299 阅读 · 0 评论 -
C++为何引入多态及多态的实现
#include <iostream>using namespace std;class Animal{public: void sleep(void) { cout << "Animal::sleep() - 动物在睡觉" << endl; }};class Cat:public Animal{publ...原创 2020-03-27 21:10:52 · 472 阅读 · 0 评论 -
动态创建对象时候为什么使用new,而不是malloc
使用malloc或calloc创建对象的时候原创 2020-03-21 15:26:01 · 587 阅读 · 0 评论 -
[C/C++] C++声明和定义的区别
变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。变量声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。·extern关键字:通过使用extern关键字声明变量名而不定义它。1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。 extern int i; ...转载 2020-03-21 14:52:03 · 198 阅读 · 0 评论 -
delete的使用
1.delete NULL;是安全的在C ++中删除设置为NULL的指针时会发生什么?值得庆幸的是,什么都没有! delete将检查指针是否为NULL,如果发现该对象设置为NULL,则跳过该对象的删除。2.delete对象和对象数组如果delete-expression的操作数的值不是空指针值,则delete-expression将为要删除的对象或数组元素调用析构函数(如果有)。...原创 2020-03-21 11:40:05 · 865 阅读 · 0 评论 -
Qt creator 常用的17个快捷键
alt +enter // 自动创建类的定义F1 // 查看帮助,文档F2 // 快速到变量声明F4 // 在 cpp 和 h 文件切换Shift + F2 // 函数的声明和定义之间快速切换Ctrl +M //创建书签Ctrl + . //切换书签Alt + M//打开书签栏Ctrl + Enter //换行Ctrl +Shift + Enter //到上一行添加Ctrl +...原创 2020-03-18 21:21:06 · 422 阅读 · 0 评论 -
C/C++中变量的定义和声明
和C相比,C++对于全局变量的检测增强,在C中,全局区域的两次int a;并不会出现报错,但在C++中却会出现变量重定义的错误然而在C++中,两次int a;会出现变量重定义的错误但无论C还是C++,变量的定义只有出现一次,但变量的声明可以出现多次。先了解一哈变量的定义和变量的声明到底做了哪些事情~C语言变量的定义://变量声明的示例int a;int b = 1;extern ...原创 2020-03-16 21:18:08 · 2385 阅读 · 0 评论