![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 75
doprasystem
这个作者很懒,什么都没留下…
展开
-
c++什么时候会生成默认构造函数
C++对象可以使用两种方式进行创建:构造函数和复制构造函数。假如我们定义了类A,并使用它创建对象。代码如下:A a,b; A c=a; A d(b);对象a和b使用编译器提供的默认构造函数A::A()创建出来,我们称这种创建方式为对象的定义(包含声明的含义)。对象c和d则是使用已有的对象,通过编译器提供的复制构造函数A::A(const A&)创建,我们称这种创建方式为转载 2016-11-22 20:36:17 · 5040 阅读 · 0 评论 -
c++虚函数实现基本原理
1. 概述简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针。例:其中:B的虚函数表中存放着B::foo和B::bar两个函数指针。D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz。转载 2016-11-22 23:28:34 · 253 阅读 · 0 评论 -
深入理解数据成员指针、函数成员指针
1. 数据成员指针对于普通指针变量来说,其值是它所指向的地址,0表示空指针。而对于数据成员指针变量来说,其值是数据成员所在地址相对于对象起始地址的偏移值,空指针用-1表示。例:代码示例:复制代码struct X {int a;int b;};#define VALUE_OF_PTR(p) (*(long*)&p)int main() {i转载 2016-11-23 00:28:22 · 980 阅读 · 0 评论