- 博客(5)
- 资源 (13)
- 收藏
- 关注
原创 C++学习笔记四、C++多态和虚函数的实现机制
目录4.1 虚析构函数的必要性4.2 纯虚函数和抽象类4.3 C++的虚函数表,多态的实现机制 4.1 虚析构函数的必要性 将基类的析构函数声明为虚函数后,派生类的析构函数也会自动成为虚函数。这个时候编译器会忽略指针的类型,而根据指针的指向来选择函数;也就是说,指针指向哪个类的对象就调用哪个类的函数。pb、pd 都指向了派生类的对象,所以会调用派生类的析构函数,继而再调用基类的析构函数。如此一来也...
2018-12-13 16:20:58 375
原创 C++学习笔记三、C++继承与派生
目录3.1 C++继承时的名字遮蔽3.2 C++继承时的内存模型3.3 有成员变量遮蔽时的内存分布3.4 多继承3.5 多继承时的内存模型 3.1 C++继承时的名字遮蔽 如果派生类中的成员(包括成员变量和成员函数)和基类中的成员重名,那么就会遮蔽从基类继承过来的成员。所谓遮蔽,就是在派生类中使用该成员(包括在定义派生类时使用,也包括通过派生类对象访问该成员)时,实际上使用的是派生类新增的成员,而...
2018-12-13 10:58:42 386
原创 C++学习笔记二、C++类和对象
目录2.1 C++对象的内存模型2.2 2.1 C++对象的内存模型 直接看代码: #include <iostream> #include <string.h> using namespace std; class Test { public: int m_i; char m_c; int m_n; Test(){};
2018-12-12 16:05:31 367
原创 C语言调用C++中的函数,extern "C"的含义
C++编译器在将cpp文件编译成库时,导出的函数名会改变,成员函数会通过加一些元素变成全局函数,如果这时候我们需要用C语言调用C++的函数,就有了一个问题,那就是不知道C++库中导出的函数名,这是由编译器决定的,这个时候就需要用到extern关键字。例子: test.cpp: int add(int a, int b) { return a+b; } 编译: g++ -o tes...
2018-12-12 14:57:27 9982 7
原创 C++学习笔记一、C++初步
目录1.1 C++命名空间1.2 C++中的const1.2.1 C++中的const更像编译阶段的define1.2.2 C++中全局const变量的可见范围是当前文件 1.1 C++命名空间 在函数内部使用namespace: #include <iostream> #include <string> int main(){ //声明命名空间std u
2018-12-12 11:45:11 311
linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
2020-03-22
uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
2020-03-18
uboot-imx-2016.03-2.1.0-g4e04879-v1.2.tar.bz2
2020-03-18
安卓智能指针测试 spwp.tar
2020-03-18
bochs-2.4.5.tar.gz
2017-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人