上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 274 下一页
摘要: 模版 假设有一个冒泡排序的函数: void Sort(int* arr, int nLength) { int i, k; for (i = 0; i < nLength; i++) { for (k = 0; k < nLength-1-i; k++) { if(arr[k] > arr[k+1] 阅读全文
posted @ 2023-04-09 10:51 bonelee 阅读(131) 评论(0) 推荐(0)
摘要: 运算符重载 现在有一个类,其中有一个函数用于比较2个类的成员大小: #include <stdio.h> class Number { private: int x; int y; public: Number(int x, int y) { this->x = x; this->y = y; } 阅读全文
posted @ 2023-04-09 10:50 bonelee 阅读(67) 评论(0) 推荐(0)
摘要: 虚表 上一章了解了多态,那么我们来了解一下多态在C++中是如何实现的。 了解本质,那就通过反汇编代码去看就行了,首先我们看下非多态的情况下的反汇编代码: 然后再来看下多态情况下的反汇编代码: 很明显这里多态的情况下会根据edx间接调用,而非多态则会直接调用。 那么我们来看下间接调用的流程是什么: e 阅读全文
posted @ 2023-04-09 10:50 bonelee 阅读(209) 评论(0) 推荐(0)
摘要: 面向对象程序设计之继承与封装 之前已经学习过继承和封装了,但是要在实际开发中使用,光学语法和原理是不够的,在设计层面我们需要做一些优化。 如下代码是继承的例子: #include <stdio.h> class Person { public: int Age; int Sex; void Work 阅读全文
posted @ 2023-04-09 10:49 bonelee 阅读(136) 评论(0) 推荐(0)
摘要: void main() { int x = 1; int& ref = x; ref = 2; printf("%d \n", ref); return; } 反汇编代码: int x = 1; 00724A5F C7 45 F4 01 00 00 00 mov dword ptr [x],1 in 阅读全文
posted @ 2023-04-09 10:48 bonelee 阅读(107) 评论(0) 推荐(0)
摘要: 在堆中创建对象 我们可以在什么地方创建对象? 全局变量区,在函数外面 在栈中创建对象,也就是函数内 在堆中创建对象 注意:之前一直提到的堆栈实际上是两个概念->堆、栈,我们之前所讲的就是栈,从本章开始要严格区分。 在C语言中,我们可以通过一个函数去申请一块内存,就是malloc(N);申请的这一块内 阅读全文
posted @ 2023-04-09 10:47 bonelee 阅读(74) 评论(0) 推荐(0)
摘要: 类成员的访问控制 课外 → 好的编程习惯:定义与实现分开写,提升代码可读性。 如下代码,Student这个类的所有成员我们都可以调用,但是我们不想让被人调用Print1这个方法该怎么? struct Student { int age; int sex; void Print1() { printf 阅读全文
posted @ 2023-04-09 10:47 bonelee 阅读(69) 评论(0) 推荐(0)
摘要: 继承 struct Person { int age; int sex; }; struct Teacher { int age; int sex; int level; int classId; }; 如上代码中可以看见,Teacher类与Person类都存在着相同的2个成员age和sex,那么这 阅读全文
posted @ 2023-04-09 10:46 bonelee 阅读(94) 评论(0) 推荐(0)
摘要: 构造函数与析构函数 构造函数 struct Student { int a; int b; Student() { printf("Look."); } void Init(int a, int b) { this->a = a; this->b = b; } }; 如上代码中,我们发现了存在一个函 阅读全文
posted @ 2023-04-09 10:44 bonelee 阅读(150) 评论(0) 推荐(0)
摘要: this指针 概述 C++是对C的拓展,C原有的语法C++都支持,并在此基础上拓展了一些语法:封装、继承、多态、模板等等。C++拓展新的语法是为了让使用更加方便、高效,这样就需要编译器多做了很多事情,接下来我们就需要一一学习这些概念。 封装 之前我们学习过结构体这个概念,那么结构体可以做参数传递吗? 阅读全文
posted @ 2023-04-05 20:52 bonelee 阅读(333) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 274 下一页