![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
centor
这个作者很懒,什么都没留下…
展开
-
CPP入门基础
1.命名空间定义:命名空间的名字在其所在作用域中是唯一的,命名控件可以在全局作用域或者其它作用域内部定义,但是不能在函数或者类的内部定义 注:命名空间作用域不能以分号结束。 命名空间中的每个名字必须引用该命名空间中的唯一实体,命名空间中的实体称为命名空间的成员,不同命名空间的成员可以具有相同的名字。:: 作用域限定命名空间内部各成员之间可以直接访问,外部的代码必须指出所引用成员名字定义在哪个命名原创 2017-06-30 22:33:13 · 410 阅读 · 0 评论 -
智能指针
所谓智能指针就是智能/自动化的管理指针所指向的动态资源的释放,我们知道的智能指针有(C++11标准):1. auto_ptr 2. scoped_ptr 3. shared_ptr 4. weak_ptr 5. unique_ptr其中auto_ptr存在问题,一般不会使用,如果确实要使用智能指针的话,scoped_ptr完全可以胜任,在STL容器的对象中,使用shared_ptr、unique_p原创 2017-11-16 22:13:22 · 236 阅读 · 0 评论 -
C++实现快排
#include <iostream> using namespace std;int getdiv1(int* array, int left, int right)//horn { if (left==right) { return right; } int div=right; int end=right-1; int begin原创 2017-10-12 23:03:01 · 846 阅读 · 0 评论 -
继承、多继承、菱形虚拟继承
继承 继承是由父类和子类(或称之为基类与派生类)两种角色构成,子承父业,就是说派生类会继承基类的所有的成员,并拥有自己特有的成员。 用一段代码来解释说明继承关系#include <iostream> using namespace std;class Base //基类 { public: Base() { cout<<"Base()"<<endl; }原创 2017-07-23 20:54:39 · 514 阅读 · 0 评论 -
多态、虚函数表、对象模型
多态:不同的对象收到相同的消息时,产生不同的动作。就是说有两个函数,同名,但是参数列表不同。能根据不同的参数传递实现不同的功能。也就是所谓“一个接口,多种方法” 静态多态:函数重载、模板 动态多态:虚函数虚函数、虚表:C++中虚函数的主要作用就是实现多态。简单说父类的指针/引用调用重写的虚函数,当父类指针/引用指向父类对象时调用的是父类的虚函数,指向子类对象时调用的是子类的虚函数;c++中用虚表原创 2017-07-27 00:09:48 · 420 阅读 · 0 评论 -
C++动态内存管理
malloc/free和new/delete之间关系和差异。1. 它们都是动态管理内存的入口。 2. malloc/free是C/C++标准库的函数,new/delete是C++操作符。 3. malloc/free只是动态分配内存空间/释放空间。而new/delete除了分配空间还会调用构造函数和析构函数进行初始化与清理(清理成员)。 4. malloc/free需要手动计算类型大小且返回值原创 2017-07-17 17:18:14 · 208 阅读 · 0 评论 -
类和对象基础
类和对象面向对象(Object Oriented,OO)。起初,“面向对象”是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Progra...原创 2017-07-07 20:57:12 · 270 阅读 · 0 评论 -
Complex(复数运算)
复数的运算规则在下面代码中有具体说明 #include #define EXP 0.0000000000 using namespace std; class Complex { public: // 1.完成四个默认成员函数 Complex(double real = 8.0, double image = -6.0)//构造函数 { _real=real; _imag原创 2017-07-07 20:37:19 · 4256 阅读 · 1 评论 -
c++封装双向链表和顺序表
双向链表中每个节点结构如下代码实现#include <iostream> #include <assert.h> using namespace std;typedef int DataType; struct Node { Node(const DataType& data) : _pNext(NULL)//指向下一个节点 , _pPre(NULL)原创 2017-07-20 17:30:37 · 389 阅读 · 0 评论 -
栈实现迷宫寻路算法
#include <iostream> using namespace std; #include <assert.h> //#include <stack> #define N 10//矩阵最大行列数 template<class T> class Mazestack//迷宫将要用到的栈 { public: Mazestack()...原创 2018-04-18 10:27:28 · 542 阅读 · 0 评论