![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Dakuan_chen
这个作者很懒,什么都没留下…
展开
-
C++多态与虚函数
多态是C++的三大特性之一多态分为 动态多态,静态多态;其中静态多态分为,函数重载,泛型编程;动态多态为虚函数。静态多态是在编译时就确定的,动态多态是在程序运行过程中确定。本篇文章主要讨论虚函数:虚函数通过基类的引用或者基类指针来调用。class Base{public: virtual void Funtest1(void) { cout<<"Base::Funtes原创 2017-03-18 14:31:59 · 348 阅读 · 0 评论 -
简单的文本行编辑程序——基于栈
一个简单的行编辑程序的功能是:接受从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入是,不能保障不出差错,因此,若在编辑程序中,“每接收一个字符立即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行数据,然后逐行存入用户数据区。允许用户输入出现差错,并在发现有误是可以及时更正。比如当用户发现上一个字符是错的可以输入#表示上一个字符无效,原创 2017-04-17 21:28:56 · 3875 阅读 · 0 评论 -
十进制转换为二进制 八进制 ——用栈实现
数制转换有很多方法本文用的是用栈来实现栈有先进后出的特性利用这个特性可以实现将目标数取模的值存放在栈中最后一次出栈就可以得到转换好的数void NumberConvert(int num ,int dest){ if (2 == dest) { stack<int> s; while (num) { int n原创 2017-04-17 21:10:48 · 917 阅读 · 0 评论 -
括号匹配问题——用栈实现
一个字符串中的括号的不匹配分为左括号多,右括号多或者次序问题在检测一个字符串中的字符如果是括号并且是左括号将它入栈,如果是右括号判断与栈顶元素是否匹配如果匹配将栈顶元素出栈如果不匹配返回false并输出括号次序不匹配。当栈为空且字符串没有遍历完时返回false输出右括号多于左括号,当字符串遍历完时栈不为空则返回false输出左括号多于右括号。只有当栈为空且遍历完字符串时括号才匹配bool IsBra原创 2017-04-18 12:41:59 · 1095 阅读 · 0 评论 -
用两个栈实现一个队列
队列的特性是先进先出,栈是先进后出基于这种特性可以用一个辅助栈用于在pop和front是的操作其他的操作都可以用一个栈实现 在pop或front时将数据逐个出栈并且入到辅助栈中此时辅助栈的栈顶就是需要pop或front的元素之后再将元素放回原来的栈 在pop或front时 完成后将元素放入原栈template<typename T>class Queue{public:原创 2017-04-18 18:01:04 · 267 阅读 · 0 评论 -
二叉树的创建与前中后序遍历递归非递归
树的定义是递归的所以二叉树的定义也是递归的,一般先定义它的根节点在定义它的左子树再定义它的右子树,就像先序遍历一样struct Node{ Node(T data = T()) :_data(data) ,_lChild(NULL) ,_rChild(NULL) {} T _data; Node* _lCh原创 2017-05-01 20:01:26 · 439 阅读 · 0 评论 -
set/multiset map/multimap hash_set/hash_multiset hash_map/hash_multimap 区别与联系
set/multiset联系底层使用红黑树作为数据结构 set/multiset 特性是所有元素都会根据元素键值自动排序,set/multiset元素的键值就是实值,实值就是键值。 不能通过迭代器来修改set/multiset的实值因为他们的实值就是键值,修改后可能不满足其排列规则 set/multiset拥有与list相同的某些性质:当客户对他的元素进行insert或erase是操作之前的所原创 2017-07-01 22:11:50 · 420 阅读 · 0 评论 -
C++继承
1:什么是继承继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。2:继承的定义格式 class DeriveClassName:acess-label BaseClassName派生类类名 继承方式原创 2017-03-12 17:02:43 · 234 阅读 · 0 评论 -
大数运算
计算机中的各种类型的数据都是有其表示上限的当进行很大的数据运算时可能产生溢出,这时就要用的大数运算 大数运算是将数据保存在数组或者string,vector的容器中进行运算这样就可以进行几十位甚至上百位的运算#pragma once#include <string>#include <iostream>#include <unistd.h>#include <stdlib.h>enum FL原创 2017-07-26 20:10:48 · 786 阅读 · 0 评论