![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
艾听先生
假程序员一枚
展开
-
C++中String类的实现
String类的书写有很多坑,写此博客用来以后复习,深拷贝处理:拷贝时,给对象开辟同源对象一样大小的空间,避免浅拷贝中因公用一块空间导致的单个空间操作对其他对象的影响,以及在销毁对象资源是一块空间被多次申请释放#include<iostream>#include<string.h>using namespace std;class String{private: char * _p原创 2017-11-07 17:09:55 · 409 阅读 · 1 评论 -
面试题(日期类)C++版
写在前面:当我们的面试官问你,你能不能写一个日期类?这时,当你看过这篇博客,并记得实现的函数,那还有啥说的,你已经比人家高一个起点了,日期类考点集中,难度不大(当然前提是你自己研究过),话不多说,展示代码,我会在代码中一些重要的地方做注释#include<iostream>using namespace std;class Date{private://属性 int _year;原创 2017-11-17 17:27:09 · 260 阅读 · 0 评论 -
简单栈的应用之括号匹配
常常我们在写程序时,编译代码能发现我们括号匹配正确与否,今天我们模拟实现一个简单的括号匹配函数,用以复习栈的引用#include<iostream>#include<stack>using namespace std;bool is_Brackets(char ch){ if (ch == '(' || ch == ')' || ch == '[' || ch == ']' ||原创 2017-12-13 21:19:21 · 571 阅读 · 1 评论 -
走迷宫
迷宫图解程序实现#include<iostream> #include<cstdlib> #define Max_Size 100 using namespace std;enum Direcation{ Up = 1, Down = 2, Left = 3, Right = 4};typedef struct{ int x, y;}C...原创 2018-03-11 11:01:30 · 560 阅读 · 0 评论 -
库vector函数的熟悉
写在前面:本篇博客用于熟悉vector函数库的函数运用,下一篇博客将对该函数库中常用函数的实现进行模拟#if 0// vector::push_back#include <iostream>#include <vector>using namespace std;int main (){ vector<int> myvector; int myint; cout << "Plea原创 2017-11-27 18:42:15 · 645 阅读 · 0 评论 -
C++知识小结
C++重要知识点一、#include “filename.h”和#include void fun(char c) //pass by value void fun(char *str) //pass by pointer void fun(char &str) //pass by reference 如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递转载 2017-12-05 15:49:05 · 226 阅读 · 0 评论 -
模拟实现 ListIterator类
#includeusing namespace std;template class T>struct ListNode{ ListNode(const T& data = T()) : _pNext(NULL) , _pPre(NULL) , _data(data) {} ListNode* _pNext;// 模板类下类型表示为:Li原创 2017-11-25 16:36:11 · 196 阅读 · 0 评论 -
二分查找算法
二分查找算法是常用的查找算法里面有很多注意的点#include<iostream>using namespace std;#if 0//区间为[)型int BinarySearch(int*array, int size, int data){ int left = 0; int right = size; int m = 0; while (left <原创 2017-12-12 20:59:29 · 199 阅读 · 0 评论 -
封装顺序栈(模拟实现stack)
一。我们先来看看库函数stack中有哪些函数 我们看到函数有@1.empty()函数:函数原型:bool empty ( ) const;判断栈是佛为NULL;true if the container size is 0, false otherwise.@2.size()函数:函数原型:size_type size ( ) const;返回栈中有用元素个数,size_t类型@3.top原创 2017-12-12 20:24:55 · 453 阅读 · 0 评论 -
封装顺序栈(模拟实现stack)
一。我们先来看看库函数stack中有哪些函数 我们看到函数有@1.empty()函数:函数原型:bool empty ( ) const;判断栈是佛为NULL;true if the container size is 0, false otherwise.@2.size()函数:函数原型:size_type size ( ) const;返回栈中有用元素个数,size_t类型@3.top原创 2017-12-12 20:24:30 · 328 阅读 · 0 评论 -
C++通用模板类(学习版)
在编程中我们常常遇到处理同样意义的东西由于数据类型不同,使得我们写了很多的具有冗余的代码,运行速度还慢的要死,这时就出现了我知道的3种方法:一一来看一下重载:#include<iostream>using namespace std;class AAA{public: int Add(int x,int y) { return x+y; } f原创 2017-11-24 13:42:02 · 596 阅读 · 0 评论 -
C++多态知识点滴
多态的定义(啥是多态)函数的多种不同的实现方式即为多态 多态的意义在继承中,有时候基类的一些函数在派生类中也是有用的,但是功能不够全或者两者的功能实现方式就是不一样的,这个时候就希望重载那个基类的函数,但是为了不再调用这个函数时,出现不知道调用基类的还是子类的情况出现,于是就提出了多态。多态可以说是面象对象语言的强大原因之一。多态性的实现多态是实现是依赖于虚函数来实现的,之所以虚函数可以分清楚当前调原创 2017-11-21 16:17:02 · 218 阅读 · 0 评论 -
C++继承知识点滴
写在前面继承是c++语言一个重要的机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类。什么是继承继承是类的重要特性。A类继承B类,我称B类为“基类”,A为“子类”。A类继承了B类之后,A类就具有了B类的部分成员,具体得到了那些成员,这得由两个方面决定: - 继承方式 - 基类成员的访问权限#include<iostream>原创 2017-11-21 15:29:35 · 207 阅读 · 0 评论 -
C++ 中string 的集成学习(1)
本人声明:我将仔细剖析我所编写代码,做到你看完本博客。就能掌握和熟练使用C++中的string类,先来一份代码#include<iostream>#include<string>using namespace std;int main(void){ string s1;//默认构造函数,s1为空串 s1 = "i is string";//初始化s1; string原创 2017-11-14 17:21:00 · 306 阅读 · 0 评论 -
模拟实现vcetor库
模板类vector类似于strig类,也是一种动态数组,即在运行阶段设置vector对象的长度,可在末尾或者中间插入新数据,基本上,它是使用new创建动态数组的替代品。Vector实现的顺序存储的结构对于尾删和尾插是比较方便的,只需要改动最后一个元素即可,但是既然是顺序存储,其地址也必然是连续的,当我们对其进行头删或者头插的时候,就需要将n-1个节点的位置都进行移动,随之带来的时间复杂度为O(n),原创 2017-11-28 17:56:39 · 235 阅读 · 0 评论 -
queue库中函数的浅谈
队列是一种数据结构。特点是先入先出(FIFO) 1.队列的声明#include<iostream>#include<dueue>using namespace std;int main(void){ deque<int> mydeck (3,100); // deque with 3 elements list<int> mylist (2,200);原创 2017-11-28 15:52:06 · 587 阅读 · 0 评论 -
虚函数表
单继承的虚函数表研究 #include<iostream>using namespace std;//单继承虚函数研究class Base{private: int _b;public: virtual void FunTest1() { cout << "Base::FunTeat1()" << endl; } virtual原创 2017-11-18 12:39:48 · 196 阅读 · 0 评论 -
强大的sscanf函数
#pragma once /******************************************************* Name : sscanf.c** Author : gzshun** Version : 1.0** Date : 2011-12** Description : sscanf fun...原创 2018-08-02 15:25:08 · 189 阅读 · 0 评论