c++
懒嘤嘤ly
嘴角扬起 用力呼吸
展开
-
类的六个默认成员函数总结(一)
一、构造函数 什么是构造函数呢?? 看下图: 如图:构造函数的特性有: 1.函数名与类名相同; 2.没有返回值; 3.有初始化列表(可以不用) 4.新对象被创建,由编译器自动调用,且在对象的生命周期内仅调用一次 5.构造函数可以重载,实参决定了调用哪个构造函数 6.如果没有显示定义时,编译器提供一个默认的构造函数 7.无参构造函数和带有缺省值的构造函数都认为是缺省构造原创 2017-09-18 20:59:33 · 562 阅读 · 0 评论 -
关于错误 itoa': The POSIX name for this item is deprecated
在VS2013下如果使用itoa的话,会经常出现以下这种情况,对于这种报错,真的很无奈啊,查了好久呢发现改为_itoa也是不行,真的很生气呢。。。。。。。查了网上的好多解决方案,才知道要改成_itoa_s,这样就好了,,,,...原创 2018-07-22 11:40:59 · 4860 阅读 · 4 评论 -
三种单例模式的C++实现
简介 因为在设计或开发中,肯定会有这么一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致。这种情况下,单例模式是最恰当的解决办法。它有很多种实现方式,各自的特性不相同,使用的情形也不相同。今天要实现的是常用的三种,分别是饿汉式、懒汉式和多线程式。 通过单例模式, 可以做到:1. 确保一个类只有一个实例被建立 2. 提供了...转载 2018-07-20 16:19:31 · 173 阅读 · 0 评论 -
vector常用方法总结
本文转自https://www.cnblogs.com/zhonghuasong/p/5975979.html介绍vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。 本质讲,vector使用动态...转载 2018-07-16 17:52:09 · 1312 阅读 · 0 评论 -
【每日一题】输入一个链表,从尾到头打印链表的每一个节点
【在线oj实现】【递归实现】 struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };class Solution { public: vector<int>...原创 2018-06-04 22:31:39 · 170 阅读 · 0 评论 -
栈的应用之括号匹配
1.什么是括号匹配问题设表达式包含三种括号:圆括号、方括号和花括号,他们可以互相嵌套,如[{()}]()或者{}()等均为正确的形式,而({)、{{}})、{[(])}等形式均为不正确的形式2.算法思想(1)检验算法可以设置一个栈:(2)每读入一个括号,若是左括号,则直接入栈,等待相匹配的同类的右括号;(3)若读入的是右括号,且与当前栈顶的左括号同类型,则两原创 2017-11-25 23:55:43 · 279 阅读 · 0 评论 -
动态顺序栈的简单实现
实现代码#pragma once//防止文件重复包含#includeusing namespace std;templateclass Stack{public: Stack() :_pData(new T[3]) , _capacity(3) , _size(0) {} void Push(const T& data) { CheckCapacity();原创 2017-11-15 16:53:55 · 324 阅读 · 0 评论 -
迭代器实现Vector
vector模型是一个动态数组,它本身是“将元素至于动态数组中加以管理”的一个抽象概念,但是c++标准并未要求以动态数组实作vector。 在使用标准库里面的vector时,必须包含头文件#include<vector> 其中型别vector是一个定义于namespace std的template。namespace std{ template<class T,class Allocator原创 2017-10-30 18:54:36 · 603 阅读 · 0 评论 -
const在c/c++的使用场景
具体参考http://blog.csdn.net/liyuefeilong/article/details/48900121##1转载 2017-11-11 16:55:18 · 1050 阅读 · 1 评论 -
String类的实现(深拷贝or浅拷贝)
今天,我们来实现一个字符串String的拷贝(String用来管理字符串)~具体以浅拷贝和深拷贝的形式给出~ 那么问题来了?什么是浅拷贝呢?深拷贝又是什么呢? 浅拷贝就相当于你喜欢一个人的感觉,而深拷贝相当于你爱一个人的感觉 我们都知道say like很容易,因为可能是他/她的外表所吸引,但是,say love却很难,因为你只有深入了解了他的本质才会爱上他~ 浅拷贝:原创 2017-10-01 20:35:59 · 508 阅读 · 0 评论 -
继承(知识点汇总)
在c++中可重用性是通过“继承”这一机制来实现的。。。。。 1.那么什么是继承呢?用代码举个最简单的继承例子(单继承方式)class A{public: int _a; void Display1() { cout<<_a<<endl; }};class B:public A //B公有继承了A{public: int _b;原创 2017-10-03 13:52:35 · 324 阅读 · 0 评论 -
什么是函数模板?
一、模板是什么? 所谓模板(templates),就是针对“一个或者多个尚未明确的型别”所撰写的函数或者类别,使用模板时,可以显式地(explicitly)或隐式(implicitly)将型别当作参数来传递。下面是一个例子:template<class T>//T为任意类型inline const T& max(const T& left,const T& right)//可以定义为内联函数,原创 2017-10-22 20:36:17 · 2616 阅读 · 0 评论 -
双向链表(c++封装)
双向链表是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。结构图如下所示:其中_pPre是双向链表的前驱结点,_pNext是它的后继结点,_data是数据域代码实现:#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<ass原创 2017-10-21 20:25:47 · 567 阅读 · 0 评论 -
类之this指针
什么是类呢?类就相当于c语言中的结构体一样~ 类将一组具有相关性数据包装在一体,这些数据称为类的成员变量或属性。 下面给出类的一般定义:class ClassName //类名字{ //类实现体};class为类的关键字,ClassName为类的名字,{}为类的主体,**尤其注意类定义结束后有个分号**今天我们主要来介绍一下类里面的this指针~ 什么是this指针呢???我们通原创 2017-09-18 17:22:19 · 710 阅读 · 0 评论 -
深入多态—虚表指针
上一篇就多态做了简单的介绍,但还是对多态的运行很迷,那我们就来虚函数内部是怎么操作的?(一)单继承中的虚函数(无虚拟继承)#include<iostream>using namespace std;class A{public: virtual void Funtest1() { cout<<"A::Funtest1()"<<endl; } v原创 2017-10-17 19:58:45 · 325 阅读 · 0 评论 -
初识多态
什么是多态? 顾名思义,多态就是一个事物多种形态; 在面向对象层次来说,多态解释为:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为。 在c++中,多态性表现形式之一是:具有不同功能的函数可以用同一个函数名,这样就可以实现用一个函数名调用不同内容的函数;简单点说就是:“一个接口,多种方法” 多态性的分类: 所谓静态变量:编译器在编译期间完成的,编译器根据函数实参的类型(原创 2017-10-14 23:53:25 · 201 阅读 · 0 评论 -
类的六个默认成员函数(二)
上次看了前三个,这次我们来看看后面的几个有关操作数重载的成员函数四、赋值运算符重载 我们都知道赋值运算符“=“是用来给变量赋值的,那么类的对象之间的赋值是不是也是用它呢?但是”=“只能用来对单个的变量赋值的,所以我们就得对赋值运算符进行重新加工(专业点说就是对赋值运算符进行运算符重载) 对象赋值的一般形式为: 对象名1=对象名2; CDate d1,d原创 2017-09-30 22:36:17 · 247 阅读 · 0 评论 -
如何实现一个只能在栈上或者堆上生成对象的类?
什么才算是在栈上定义的对象?什么是在堆上定义的对象? 堆上:即存放的是由new创建的对象和数组,即动态申请的内存都放在堆内存 栈上:存放的是用来一些基本类型的变量和对象的引用变量 堆就相当于在家自己做饭,吃饭苦逼的还要刷碗,呜呜呜~ 栈就相当于去饭店吃饭,只管吃,不管其他,生活美滋滋~ 【分析】也就是说我们可以将题目理解为: 只能在堆上--->只...原创 2018-08-16 20:15:07 · 628 阅读 · 0 评论