![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Erupt9001
这个作者很懒,什么都没留下…
展开
-
虚析构和纯虚析构
虚析构: class Base { public: virtual ~Base() {函数体} } 纯虚析构: class Base { public: virtual ~Base()=0; } Base::~Base() {函数体} 虚析构写成纯虚析构后还得在类外进行定义。而且虚析构和纯虚析构在子类析构之后都会被调用。纯虚析构的引入是不是有点多此一举呢? 在基类中使用...原创 2020-03-27 22:19:33 · 265 阅读 · 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 · 415 阅读 · 0 评论 -
动态创建对象时候为什么使用new,而不是malloc
使用malloc或calloc创建对象的时候原创 2020-03-21 15:26:01 · 571 阅读 · 0 评论 -
[C/C++] C++声明和定义的区别
变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。 变量声明:用于向程序表明变量的类型和名字。 定义也是声明:当定义变量时我们声明了它的类型和名字。 ·extern关键字:通过使用extern关键字声明变量名而不定义它。 1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。 extern int i; ...转载 2020-03-21 14:52:03 · 168 阅读 · 0 评论 -
delete的使用
1.delete NULL;是安全的 在C ++中删除设置为NULL的指针时会发生什么? 值得庆幸的是,什么都没有! delete将检查指针是否为NULL,如果发现该对象设置为NULL,则跳过该对象的删除。 2.delete对象和对象数组 如果delete-expression的操作数的值不是空指针值,则delete-expression将为要删除的对象或数组元素调用析构函数(如果有)。...原创 2020-03-21 11:40:05 · 814 阅读 · 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 · 362 阅读 · 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 · 2325 阅读 · 0 评论