![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++知识点
ALfirewell
本人的目标是当一名嵌入式研发工程师,会把自己学习的历程以及自己的发现和心得记录下来,但愿最后能如愿以偿。
展开
-
class 和 struct 的区别
首先在C语言中没有class,class是面向对象的,是C++中特有的用来定义类的关键字。 而struct在C和C++中都可以用,是用来定义结构体的关键字。 那么struct在C和C++中有什么区别呢? 1.C语言中:struct是用户自定义数据类型(UDT);C++中struct是抽象数据类型(ADT),支持成员函数的定义,(C++中的struct能继承,能实现多态)。 2.C中stru...原创 2018-03-17 19:55:24 · 338 阅读 · 0 评论 -
使用new进行异常抛出可能遇到的bug
terminate called after throwing an instance of ‘std::bad_alloc’ what(): St9bad_alloc 已放弃在我运行程序没有问题后结果居然是这样的一段话,那么应该怎么解决这个问题呢?这个问题主要是你在使用new的上面出了问题,注意当你要new数组时new int[ ]里面的内容不能是负数!否则会出现这种错误。...原创 2018-04-24 22:14:28 · 879 阅读 · 0 评论 -
C++中的静态成员和静态成员函数
静态成员属于整个类,不是属于类的某个对象。 静态成员不能在构造函数中初始化,在类外初始化。 即使没有实例对象,仍然可以访问静态数据成员。 静态成员存储在全局数据区。 注意:遇到const和static双重属性的数据成员时,一定只能在声明的时候初始化。 由于静态成员为类所有,不属于某个对象,所以不存在this指针。 思考:构造函数和析构函数可以定义为静态的吗? 显然是不行的,因为在构造...原创 2018-04-21 00:18:15 · 469 阅读 · 1 评论 -
C++类中的浅拷贝和深拷贝
浅拷贝:默认的拷贝构造函数,只是进行简单的复制操作 但是在一些特定的场合,我们需要自己来定义拷贝构造函数,例如拷贝的是地址。 此时仅仅通过默认的拷贝构造函数是不够的,这时就需要用到深拷贝,也就是自己去定义拷贝构造函数。 形式: 类名(const 类引用):初始化列表{}; 注意:初始化列表先于构造函数执行。...原创 2018-04-21 00:33:43 · 314 阅读 · 0 评论 -
C++运行时的多态 函数重写 函数重载 函数隐藏
多态成立的3个条件: 1.要有继承 2.要有虚函数的重写。 3.用父类指针指向子类对象。 下面我们来分析一下这3个条件: 要有继承:那么就要有基类和派生类的存在才行。要有虚函数的重写:首先什么是虚函数? 虚函数就是在函数返回类型前面加上virtual,那么为什么会有虚函数呢? 如果我们new一个派生类对象让它指向基类指针,我们通过delete释放这个指针,但是却没有释放子类指针的...原创 2018-04-21 01:27:03 · 257 阅读 · 0 评论