![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 57
qq_41027326
共同努力,共同进步
展开
-
C++第一节课
C++数据类型几个概念命名空间是C++标准库引入的,其中命名空间可以解决变量冲突问题,当出现局部变量和全局变量同名的时候, 局部变量优先被访问.同时命名空间的格式如同一下代码namespace name1{int a = 0;}namespace name2{int a = 2;}注意C++中的所有组件都是在一个叫做std的命名空间中被定义.这里来看两段...原创 2018-06-30 19:05:26 · 859 阅读 · 0 评论 -
模板实现栈队列以及链表
模板实现链表//test.h#include <iostream>#include <cstdio>#include <assert.h>using namespace std;template <class T>struct ListNode{ ListNode* _prev; ListNod原创 2018-08-01 09:33:12 · 218 阅读 · 0 评论 -
多态相关概念
多态相关注意事项所谓的多态就是指函数有多中状态, 在C++中通常是通过父类指针指向子类对象的方法实现多态, 这样父类可以通过子类的类型调用不同的方法. 即实现一个接口多种方法, 多态的引用是为了实现接口复用 在 C++中多态是通过虚函数来实现的. 子类通过对父类相关接口进行重写实现一个接口多种状态. 虚函数允许子类对父类相关接口进行重写, 多态性的条件:派生类的虚函数必须和基类的...原创 2018-08-01 09:17:56 · 239 阅读 · 0 评论 -
日期类的实现
#include <iostream>#include <assert.h>#include <assert.h>#include <cstdio>using namespace std;class Date{public: // 1.无参的构造函数 // Date() // { //原创 2018-07-07 22:32:28 · 140 阅读 · 0 评论 -
3_V1-类和对象 -- 默认成员函数
定义一个日期类#include <iostream>#include <assert.h>using namespace std;class Date{public: void Display();private: int _year; int _month; int _day;};注意:在定义一个类的时候...原创 2018-07-07 22:30:26 · 178 阅读 · 0 评论 -
C++::模板
模板的简单介绍C++中模板是为了能够使得函数或者类实现范型编程的目的, 同时C++模板的出现是为了避免代码的冗余 举个例子void Swap(int& a, int& b){ int tmp = a; b = a; a = b;}void Swap(char& a, char& b){ char tmp = a;...原创 2018-07-25 09:02:19 · 199 阅读 · 0 评论 -
C++::探索对象模型
前面我们已经知道, 在没有虚函数的时候, 对象的大小就是对应的成员变量的大小, 而成员函数不会占用对象的空间, 今天我们来讨论一下, 当类中定义了虚函数的时候, 此时对象的大小以及对象模型非继承下的对象模型class Base{public: virtual void func1() { cout << "Base::func1()" &...原创 2018-07-19 10:04:18 · 207 阅读 · 0 评论 -
C++:继承和多态
虚函数:只有类的成员函数才能定义为虚函数虚函数 在类的成员函数前面加上一个 virtual 关键字, 此时这个成员函数就叫做虚函数 虚函数 当在子类中定义了一个与父类完全相同的虚函数的时候,此时就叫做子类的虚函数重写了父类的虚函数 构成多态的条件 派生类重写基类的虚函数实现多态, 必须要求函数名相同参数列表以及返回值相同(协变除外) 协变 派生类重写基类的虚函数的时候函数名相同, 参数列...原创 2018-07-17 09:39:48 · 208 阅读 · 0 评论 -
C++的基本认识
简单介绍C++语言特点支持数据封装和数据隐藏在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。 在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封...原创 2018-07-03 16:56:48 · 1258 阅读 · 0 评论 -
动态内存管理
数据的元素存储于内存中连续的位置上,当一个数组被声明时,他所需要的内存在编译时就被分配。当然,我们也可以使用动态内存分配在运行时为他分配内存。在动态内存分配中我们需要经常用到malloc,free,calloc,realloc这四个函数malloc/calloc/realloc的作用void* realloc(void* ptr, unsigned newsize);void* mall...原创 2018-07-10 12:46:02 · 217 阅读 · 0 评论 -
3-V2-类和对象 -- const&内联 & 静态成员 & 友元
const修饰成员函数在成员函数后面加一个const, const修饰this指针指向的对象, 保证调用这个const成员函数的对象在函数内不会被改变 注意:成员函数如果不修改成员变量,则加上const,成员函数如果要修改成员变量,此时就不能给其加上const修饰了 1.const对象不能调用非const成员函数,可以调用const成员函数 2.非const对象可以调用非const成...原创 2018-07-10 10:10:28 · 143 阅读 · 0 评论 -
C++:String的写时拷贝
String的写时拷贝//test.h#pragma once#include &lt;iostream&gt;#include &lt;string.h&gt;#include &lt;cstdio&gt;#include &lt;assert.h&gt;using namespace std;#define TESTHEADER printf(&q原创 2018-07-16 14:35:16 · 231 阅读 · 0 评论 -
C++:String深拷贝
#include <iostream>#include <cstdio>#include <string.h>#include <assert.h>using namespace std;#define TESTHEADER printf("\n================%s===============\n", __FUNCTIO...原创 2018-07-16 14:31:48 · 893 阅读 · 0 评论 -
C++:Vector和List的实现
Vector的实现//test.h#pragma once#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;string.h&gt;#include &lt;assert.h&gt;using namespace std;typedef int DataType;#define TE原创 2018-07-16 14:24:34 · 664 阅读 · 0 评论 -
C++继承
三种继承关系我们都知道成员访问限定符总共有三种, public, protected, private.那么对应到继承关系上的时候也就有对应的三种继承关系, public, private, protected. C++中的继承是为了实现代码复用的技术思想.简单来说就是一个对象可以不用定义直接使用另一对象的属性和方法.原始类称为基类,继承类称为派生类,它们是类似于父亲和儿子的关系,所以也分别...原创 2018-07-16 14:17:19 · 185 阅读 · 0 评论 -
C++异常
基本概念在C++中所谓的异常就是当一个函数在执行的时候发现一个自己无法处理的错误, 此时就将该异常扔调用自己的函数,或者间接调用自己的一个函数,取处理这个错误, 此时这种情况就叫异常异常的捕获和抛出异常通过三个个机制 try 和 catch来捕获以及throw抛出, 编译器在编译的时候通过检查throw后面的类型, 然后选择出一个距离自己最近并且和自己最符合的一个函数取执行异常处理相应...原创 2018-08-08 10:13:35 · 190 阅读 · 0 评论