
C++
Tine Chan
独立追根溯源思考
展开
-
继承的大门只对类外访问外在有效;成员的大门只对继承的子类访问有效
原创 2020-09-30 08:40:37 · 159 阅读 · 0 评论 -
静态成员函数-this指针没有指的是没有给,而不是不能拥有,可以自己给呀
原创 2020-09-29 10:14:45 · 1276 阅读 · 0 评论 -
C++下篇-多态(函数重载+虚函数)(11)
函数重载(包括运算符重载):名同而参数和类型不同,函数体也可不同,但为了多态的含义,尽量函数体不同点少点运算符重载:触发点-当遇到运算符前后不是普通数据时,就自动调用重写的运算符,两个参数运算叫作二元运算符,一个参数参与运算叫作一元运算符多态:不同对象把实际参数发送给不同的函数,但是函数有个特点-函数名称相同,但参数个数和类型不同。具体调用哪个函数与参数个数和类型决定。多态=动态多态性...原创 2018-10-27 20:37:13 · 161 阅读 · 0 评论 -
C++下篇-模板、STL(12)
模板:一个通用的函数或者类,写好磊大部分内容,里面只是把类型给用一个虚拟的类型来代替。在调用时,会根据实参的类型来替换模板中的类型重载模板:写很多个模板名相同,但参数个数不同的函数或者类。在编译时,根据实际参数个数类型来匹配到一个模板的具体化类模板的继承:将模板和继承的思想用到类上,可设计出实用而复制的类模板STL=容器+迭代器+算法容器:一种通用数据结构,可存储不同类型的数据对象...原创 2018-10-27 21:35:22 · 116 阅读 · 0 评论 -
C++下篇-cout/cin(13)
外部键盘的输入/输出cin>>i;cout<<j<<endl;文件的输入输出:原创 2018-10-27 21:44:42 · 120 阅读 · 0 评论 -
C++下篇-异常处理(14)
程序出现的意外情况称为异常异常处理技术:即,使得出现错误时,能够自动作出处理,继续朝下运行,这样的程序有很好容错能力。使得程序不至于死机try{ throw }{}catch ...原创 2018-10-27 22:20:13 · 101 阅读 · 0 评论 -
C++ 疑难点1
1.#include不属于C++程序,所以也是末尾不带分号的原因。里边是函数声明,在编译之前先找到头文件里边声明的具体定义的函数放到头文件那里位置,然后参与代码一起编译2.对于错误;先双击第一个,定位到那句看前后,不懂,查3.int a=5,int已经集成好类型是整型,初值为5,class Person{},Person是个自定义类型,Person person1(陈磊,25),Perso...原创 2019-01-17 16:45:06 · 276 阅读 · 0 评论 -
C++ 疑难点2
数据类型就是对象(各种元素,种类繁多呀,它的广泛性,包括地址(目标对象的地址)),像世界中有各种动物一样表示着这个世界。受控,但是对本身无影响,存在性理解:泥巴比喻int a=5;int是想法,在大脑里想象捏的图像,a是具体的一团泥巴,5是图像放大的大小运算,信息的交互,新信息的产生 流程,控制着下一秒的走向,本身与其他无关 函数,黑盒子,一小整套包含数据、运算和流程的处理盒子理解:划...原创 2019-01-20 11:13:39 · 196 阅读 · 0 评论 -
C++重读1
预编译:不是真正编译数据类型:不同类型数据内存大小不一样运算:是有结果的,有各种运算条件:空间多维度,时间一维,多选择是思想层面,一条执行,具体哪个当时做决定,也可概览全貌变量作用域>生命周期:作用域是未运行时候看能达到哪里(空间角度),生命周期是时间角度,单身到死亡(内存的开辟与释放)数组与结构体:数组是对同种变量的数量扩张,结构体是不同种变量指针变量/指针:指针变...原创 2019-07-24 15:47:51 · 113 阅读 · 0 评论 -
C++下篇-继承和派生(10)
继承:将父辈的统统继承给子类,构造函数除外。访问权限的说明:规则:当没有派生类这一引入时,对于类成员函数能访问public、protected、private属性成员(包括数据成员、成员函数),不能访问隐藏对于对象而言,只能访问public属性的成员(包括数据成员、成员函数)当引入派生类时候。派生类不能访问private属性成员(不用考虑继承方式);派生类对象只能访问public继...原创 2018-10-27 11:28:50 · 126 阅读 · 0 评论 -
C++下篇-类和对象(9)
类:定义类型(包括动作)对象:开辟某种模型的内存空间构造函数:当未定义构造函数时,编译器会自动给你个使得你的属性值(默认的函数体是有语句的)全初始化为0的默认构造函数,当当你定义了构造函数时,若用到默认构造函数时,就需要自己去定义。有句古话叫,给你你不要,再想要就没有,那怎么办,自己创造呗。在构造对象时自动被调用。析构函数:默认的析构函数是执行空语句的函数,无参,且无重载形式,在内存被...原创 2018-10-26 19:25:00 · 151 阅读 · 0 评论 -
C++上篇-结构体(7)
typedef struct // 定义一个结构体类型:DATA{ char key[10]; // 结构体成员:key char name[20]; // 结构体成员:name int age; // 结构体成员:age}DATA; DATA data; // 声明一个结...原创 2018-10-02 11:44:43 · 375 阅读 · 0 评论 -
C++上篇-链表(8)
链表是一种动态数组,由节点构成,节点都是结构体变量,结构体变量由数据域和指针域组成(指针一般只有一个,一般都定义为一个指向本结构体类型的指针)譬如:struct node{int data;struct node *next;}以单链表为例子:1.建立链表前一个节点的指针指向后一个节点,若超出三个及以上;譬如三个:需要定义三个指针变量,P专门用于申请新建节点,那么...原创 2018-10-06 23:33:57 · 141 阅读 · 0 评论 -
C++上篇-程序设计入门概念(1)
程序=数据结构+算法数据结构:一个对象所包含的属性,形如自然界中的个体,例如大树的直径,高度等等算法:用于对对象进行操作,即对对象的属性进行操作程序:用于解决某些对象的方法对象:即某个事物的具体属性+所能对自己或可能对他人属性作修改的动作类:从总结角度来讲,是所有对象的共同特征(包含方法)的总结。封装性:对象的属性在不设置为友元函数的情况下是只能用自己的方法对自己作修改...原创 2018-10-26 13:52:23 · 136 阅读 · 0 评论 -
C++上篇-基本数据及其运算(2)
数据类型:从编译器自带和人为设计角度分类,其实编译器自带的也是人为集成好了的,不过重点要从内存空间分配去理解数据类型,内存空间有放置不同数据类型的区域,静态和动态在不同区域使用内存空间。同一区域,可再细分不同数据的长度大小,例如,浮点数和整数的开辟的长度是不一样的。类型的理解:只要新出现与先前不同的开辟数据空间形式,那它就是新数据类型,为此需要给个新名称,例如,数据结构可整合已有数据类型,但是...原创 2018-10-26 14:19:45 · 132 阅读 · 0 评论 -
C++上篇-流程控制(3)
针对大段代码来说,从时空结合来讲,当代码在任意时间点开始运行时,代码的运行是需要消耗时间的,为了减少体力与减轻眼睛的负担,对于重复执行的程序用循环表示,以减少代码行数。对于在不同时间段有些代码段需要执行,有些不需要就用选择结构来表示。这样的好处是:增加代码的泛化能力,使之能适应不同种的输入情况。循环结构:将重复执行的代码段,用标记while表示选择结构:有多种选择,从编辑器编写的代码来看,...原创 2018-10-26 14:34:49 · 221 阅读 · 0 评论 -
C++上篇-函数(4)
函数:一个function模块,在对象里边,属性是描述对象特征的,不可放到函数里边,函数里边可以定义变量,它的生命周期到运行结束,对外界不产生影响,若此函数调用子函数,那么此函数内定义的变量的值,不能被子函数所使用.当调用函数时候,只是把值给了形参,若想通过子函数改变实参变量的值,必须把地址传递给子函数声明:告诉主函数,有这么一个东西存在,不然即使定义了,叶不好使用定义:对事物的具体描述。...原创 2018-10-26 14:58:27 · 112 阅读 · 0 评论 -
C++上篇-变量的作用域和生存周期(5)
作用域:从未运行程序角度理解,作用域是变量能够达到或者说被使用的范围,它是生命周期的必要条件生命周期:从程序运行角度来讲,变量的生命周期从运行到开始,到"}"之后结束,它不可达及子函数。从变量的值生命周期来讲,还得在以上条件上加一条,被更新后,生命结束。命名空间:同名不同姓,以表区分 ...原创 2018-10-26 15:06:24 · 136 阅读 · 0 评论 -
C++上篇-数组和指针(6)
数组:例1:数组的作用是扩展,将数组与其他结合,例如对象,可扩展对象的数量;利用了数组扩展数量上的性质; 例2:指针的作用是指向某个变量,将指针与其他结合,例如函数,可返回函数的地址;利用了指针返回地址的性质指针:int * p=&a;指针指向的整型变量a; 地址只有一个,通过*p间接引用a,使得a的值必定可以改变,相当于内存中只有一个...原创 2018-10-01 00:41:15 · 170 阅读 · 0 评论