C++
文章平均质量分 64
lucky_白杨
且行且珍惜
展开
-
C++ 为什么不能在构造函数中调用虚函数
最近在Clion编辑器中看到构造函数中调用虚函数提示: Do not invoke virtual member functions from constructor这里记录一下为什么不能在构造函数中调用虚函数。看下面的代码:#include <iostream>#include <string>using namespace std;class BaseClass { public: BaseClass() { std原创 2020-10-02 02:14:07 · 4467 阅读 · 1 评论 -
C++ 虚函数与虚函数的工作原理
文章目录虚函数虚析构函数虚函数的工作原理获取对象的虚函数表地址虚函数给类函数声明virtual关键字,将该函数解释为虚函数。基类定义的虚函数表明子类可以继承并实现该虚函数。虚函数的最大作用为:可以通过基类指针或引用来接收一个子类指针或者引用,并通过基类指针或引用来调用虚函数来实现相同的动作不同的实现方式,达到多态的目的。例子代码如下:#include <iostream>#include <string>using namespace std;class BaseC原创 2020-10-02 01:46:04 · 587 阅读 · 1 评论 -
C++数组的指针、指针数组、指针数组的指针的声明
文章目录指针数组数组的指针指针数组的指针关于CLion编辑器本地变量定义小技巧代码C++数组的指针、指针数组、指针数组的指针的声明有点绕,防止后面绕晕记不住所以记录下。指针数组int *ap[3];为啥[3]要放在这里呢?[]优先级要高于*,所以[3]表明三个元素的数组,剩下的描述元素的类型,*表明数组元素为指针,int表明指针指向int类型。所以该声明为:具有3个指向int类型的指针的数组。数组的指针int (*pa)[3];[3]表明为三个元素的数组,剩下的部分就是描述元素的类型。(*原创 2020-06-21 02:11:45 · 1850 阅读 · 0 评论