
C++
centor
这个作者很懒,什么都没留下…
展开
-
CPP入门基础
1.命名空间定义:命名空间的名字在其所在作用域中是唯一的,命名控件可以在全局作用域或者其它作用域内部定义,但是不能在函数或者类的内部定义 注:命名空间作用域不能以分号结束。 命名空间中的每个名字必须引用该命名空间中的唯一实体,命名空间中的实体称为命名空间的成员,不同命名空间的成员可以具有相同的名字。:: 作用域限定命名空间内部各成员之间可以直接访问,外部的代码必须指出所引用成员名字定义在哪个命名原创 2017-06-30 22:33:13 · 460 阅读 · 0 评论 -
智能指针
所谓智能指针就是智能/自动化的管理指针所指向的动态资源的释放,我们知道的智能指针有(C++11标准):1. auto_ptr2. scoped_ptr3. shared_ptr4. weak_ptr5. unique_ptr其中auto_ptr存在问题,一般不会使用,如果确实要使用智能指针的话,scoped_ptr完全可以胜任,在STL容器的对象中,使用shared_ptr、unique_p原创 2017-11-16 22:13:22 · 259 阅读 · 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 · 879 阅读 · 0 评论 -
继承、多继承、菱形虚拟继承
继承 继承是由父类和子类(或称之为基类与派生类)两种角色构成,子承父业,就是说派生类会继承基类的所有的成员,并拥有自己特有的成员。 用一段代码来解释说明继承关系#include <iostream>using namespace std;class Base//基类{public: Base() { cout<<"Base()"<<endl; }原创 2017-07-23 20:54:39 · 561 阅读 · 0 评论 -
多态、虚函数表、对象模型
多态:不同的对象收到相同的消息时,产生不同的动作。就是说有两个函数,同名,但是参数列表不同。能根据不同的参数传递实现不同的功能。也就是所谓“一个接口,多种方法” 静态多态:函数重载、模板 动态多态:虚函数虚函数、虚表:C++中虚函数的主要作用就是实现多态。简单说父类的指针/引用调用重写的虚函数,当父类指针/引用指向父类对象时调用的是父类的虚函数,指向子类对象时调用的是子类的虚函数;c++中用虚表原创 2017-07-27 00:09:48 · 452 阅读 · 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 · 231 阅读 · 0 评论 -
类和对象基础
类和对象面向对象(Object Oriented,OO)。起初,“面向对象”是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Progra...原创 2017-07-07 20:57:12 · 301 阅读 · 0 评论 -
Complex(复数运算)
复数的运算规则在下面代码中有具体说明#include #define EXP 0.0000000000using namespace std;class Complex { public: // 1.完成四个默认成员函数 Complex(double real = 8.0, double image = -6.0)//构造函数 { _real=real; _imag原创 2017-07-07 20:37:19 · 4334 阅读 · 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 · 417 阅读 · 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 · 575 阅读 · 0 评论