C++ 学习笔记
Glory_g
明日之我胸中有沟壑,立马振山河
展开
-
C++ 学习笔记
指针变量 : 所谓指针变量指针是指针变量和指针常量的统称,他的类型是t*,它是用t构造出来的一个新类型,是一种用来指向t首地址的变量。在程序中访问一个变量的值是怎么访问的呢 ? 是编译器先找到这个变量的首地址,然后再去访问这个变量,指针也是起了一个这样的作用,指向一个变量储存空间的首地址。通过指针而不是变量名直接访问首地址,这样可以节省内存空间使得访问加速,还有一些很神奇的作用字符串字面值原创 2017-09-14 11:36:26 · 149 阅读 · 0 评论 -
函数指针与指针函数
指针函数与函数指针函数指针与指针函数是在 C、C++ 中经常使用,并且非常容易混淆的概念之一,首先我们要理解这两个东西到底是什么东西 。指针函数顾名思义它的重点落在函数上,是一种函数叫做指针函数,他叫指针函数的原因是因为它的返回值类型是指针而函数指针呢 ? 它的重点落在指针上。它是一种特殊的指针,一种指向函数的指针 (因为函数名就是一个指针,是一种指向函数起始位置的指针)变量名和内存地址存在一原创 2018-01-09 20:53:59 · 401 阅读 · 0 评论 -
C++ 异常处理
C++ 异常处理 :什么事异常处理 ? 异常就是在程序运行的过程中出现的一些异常情况,比如除法的除数为0,输入年龄为负数,动态分配内存,空间不够导致无法分配,下标越界,要打开的文件打不开、文件不存在等等都属于异常情况。如果不能及时的处理会导致程序的崩溃,所谓的“处理”就是给出错误的提示信息,然后让程序沿着一条不会出错的路径继续执行下去,也可能是结束这个程序,并且在程序结束之前给出一些必要的措原创 2018-01-09 17:10:25 · 1646 阅读 · 0 评论 -
C++面向对象之多态
前几天看见知乎的一个问题 : 怎样把 C++ 的代码写的像C++而不是 C + class + STL ?其实我感觉他应该是没有理解面向对象的真正含义,不会写继承和多态,只知道封装,这样写出来的代码当然就是 C+STL+class 一门语言之所以可以称之为面向对象的语言就是因为他支持继承和多态,而不是封装。多态的简介 :面向对象程序设计语言有三种机制,分别是封装、继承和多态,这三种机制有效地提高了程原创 2017-12-27 16:52:12 · 396 阅读 · 0 评论 -
可变长数组的 OO 实现
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;class CArray {private: int size; int *ptr;public: CArray (int s = 0); CArray (CArray原创 2017-11-16 20:19:45 · 299 阅读 · 0 评论 -
C++ 学习笔记之派生
派生简介 :面向对象的三大思想包括 : 封装、继承、多态。派生是C++ 面向对象中继承的表现。继承的优点 : 在面相对象程序设计的过程中,我们为了实现代码的重用,为了使得两个相似的类之间不写大量的重复代码,我们就可以把两个类的共同特点抽象成一个类,或者让一个类直接接着上一个类去写。这样不仅仅提高了代码的重用率,也增强了代码的逻辑性,在修改的时候也增加了对全局的可控性,减少了代码修改量,还为程序员提供原创 2017-11-30 17:33:05 · 606 阅读 · 0 评论 -
C++ 类中访问权限控制
C++ 的类中有三种不同的权限的说明符 private,public,protected 三种权限说明符为C++的封装性提供了支持,下面介绍一下三种权限说明符的允许访问的范围,即哪些函数可以访问。1.private :类(基类)自身的成员函数类(基类)友元的成员函数2.public :基类自身的成员函数基类友元的成员函数基类所产生派生类的成员函数基类所产生的派生类的友元函数其他的全局原创 2017-11-30 16:38:07 · 2255 阅读 · 0 评论 -
C++ 中一个冒号和两个冒号的区别
这几天一直被傻逼冒号问题困扰,就很烦然后就下决定弄明白一个冒号和两个冒号的区别两个冒号 ::为什么先说两个冒号呢 ? 因为它的作用少 ,一般就是一个作用 域作用限制符 比如 class , namespace 中限制在某一个模块中一般会使用这个东西一般是这么用 class(类名) :: (要访问你函数名) namespace (模块名) :: (要访问原创 2017-11-30 16:21:01 · 9386 阅读 · 1 评论 -
C++ 实现计算机程序的实现及其细节处理
#include <iostream>#include <algorithm>#include <cstring>#include <map>#include <cstdio>using namespace std;// 程序大致流程// curr_tok 表示当前的符号 (加减乘除 还是 数字 等等)// 每次通过 curr_tok 决定当前的操作// term 表示一个小的表达原创 2017-11-19 15:19:56 · 922 阅读 · 0 评论 -
C++ 作业
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <stack>using namespace std;const int INF = 1E9 + 7;class Stack {private : struct node { int key;原创 2017-11-12 23:55:21 · 270 阅读 · 0 评论 -
C++ 学习笔记
面向对象程序设计语言特性 :封装性 :将数据集和操作数据的操作集装在一起,就是封装继承性多态类 : 抽象的对象:一个类的实例,就是一个变量 () ; 具体的类,类的实例话结果。 对象的state 不同,就是属性的值不同。方法:访问事物静态特征的方法 (函数)。属性: 描述事物的静态特征。class Student { // 类名、属性、方法 实现了封装。 // 事物的属性 (原创 2017-10-26 10:16:21 · 166 阅读 · 0 评论 -
C++ 学习笔记 分别编译
分别编译要点与引申 :将常量的定义放在同一个头文件中将类型的定义写在头文件中,最好不要把多个类型定义写在同一个头文件中禁止将全局变量的定义写进头文件中每一个源程序文件有效语句所在行最好控制在 50 - 500 行之间程序的实际执行在调用 main 之前就开始进行了,在 main 结束以后还可能善后处理代码程序变量写在不同的源文件中需要注意:在不同的编译单元出现的同一全局名字其定义和声原创 2017-10-24 20:27:26 · 539 阅读 · 0 评论 -
C++ oop 作业
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#include <cmath>using namespace std;const int maxn = 1005;const int INF = 1e9 + 7;class linklist {private : int len原创 2017-11-08 22:35:22 · 413 阅读 · 0 评论 -
C++ 泛型程序设计 模板
泛型程序设计之模版 :C++提高代码可重用性一般体现在两个地方,一个是继承,一个是泛型程序设计中的模版。泛型程序设计就是指一种算法在实现时不指定特定的数据类型的程序设计方法。所谓泛型,就是指算法只需要实现一遍,并且能够适应多种数据类型,可以减少重复代码的编写。也可以说泛型程序设计就是编写大量的模版,模版就是编写一遍算法适用于不同的数据类型,模版可以分为函数模版和类模版两种。函数模版原创 2018-01-09 22:38:53 · 1160 阅读 · 0 评论