C++
文章平均质量分 54
zjnlswd
这个作者很懒,什么都没留下…
展开
-
C++学习15异常处理try catch
异常基本概念可能这个文件别人打开了你开不了,可能这个文件不存在这个文件的大小可能在变,这个文件在被写可能这个文件大小很大,得不到那么大内存可能这个文件在某个位置有问题了,读不出来了(硬盘或者存储位置某个地方坏了)其实每一件事情都可能存在问题。程序能不能处理程序中出现的危机是健壮的程序这个程序可以实现找到错误但是并不好好的方法是使用exception例外,异常机制(在某个点出现了问题,米不知道怎...原创 2018-04-27 23:47:59 · 342 阅读 · 0 评论 -
C++学习16 try catch2和STLmap等
异常语句try()catch(){ }如果mathErr有三个子类在try里面会抛出UnderFLowErr,是mathErr的子类,相当于匹配到。如果第三个catch括号里面不是…而是UnderFlowErr,那么编译不通过,因为第二个已经被捕捉了。它是按照顺序去匹配的,不是说跟那个像。 Void abc(int a):throw(MathErr){…}表示只会抛出MathErr的异常如果抛出的...原创 2018-05-20 11:35:07 · 463 阅读 · 0 评论 -
C++学习14模板
注意:本学习笔记来自网易云课堂学习模板函数模板—用来做出函数类模板—用来做出类 函数模板交换两个变量模板的作用只是声明有这样一个函数 当使用的时候,如下,在float类型的交换的时候,编译器会根据模板做出一个函数针对float类型。 可以制定类型的-----------------------------------------类模板用法:类中的函数每一个都是函数模板 --------------...原创 2018-04-26 22:34:30 · 327 阅读 · 0 评论 -
c++学习13运算符重载
注意:本笔记来源于网易云课堂笔记运算符重载 不能重载的符号 只有已经存在的运算符可以重载 只能对新的类去重载运算,必须保持运算数的数量和运算符优先级 格式:operator *()如果是成员函数参数表里有一个参数就行,(对于+)。另一个参数是用that指向。如果是全局函数,那么+的重载,参数表里有两个参数 eg:因为返回的是个值而不是一个变量,不能是a+b=6(在C++中不能这样出现),所以返回类...原创 2018-04-25 21:23:09 · 164 阅读 · 0 评论 -
C++学习12静态成员变量和静态函数
注意:本学习笔记来自网易云课堂学习StaticStatic的一个函数里的量,就相当于是全局变量,只不过只有在这个函数里才能使用这个量Static 的是函数里的一个类的话,这个类在第一次进这个函数的时候被初始化。这个对象的存储是全局化的。这个变量只有在程序结束的时候才发生析构(全局变量的初始化如果在不同CPP里是不知道谁先编译的,所以如果一个变量的值依赖另一个值,那么就会有问题,解决办法是所有全局变...原创 2018-04-24 22:59:15 · 120 阅读 · 0 评论 -
C++学习11多态的解释,引用的补充
多态性的实现Class A{Public: A():i(0){} virtual void f(){}}所有有virtual的类都有一个隐含的指针vptr指针(指针的值是一样的,也就是存放vtable的地址是一样的),指向vtable,这样的话不同的类的vptr指向自己的vtable,那么就可以找到对应的virtual函数了 如果你的类里有一个函数是virtual的那么你的析构函数也要...原创 2018-04-20 19:58:06 · 356 阅读 · 0 评论 -
C++学习10向上造型和多态性(1)
注意:本笔记来自于网易云课堂公开课内容class A{public: int I; A():i(10){}};class B:public A{}; int main(){A a;B b;cout<<a.i<<” ”<<b.i<<endl;cout<<sizeof(a)<<” “<<sizeof(b)&a原创 2018-04-18 20:53:34 · 451 阅读 · 0 评论 -
C++学习9const和引用
const注意:本笔记来自网易云课堂学习第一个表示const在*后面,表示指针是const,那么指针不能++,但是指针指向的内存里的东西是可以变化的第二个const在*前面表示,指针指的内存是const的,指针指向的内存里的东西是不能变的。是说,不能通过这个指针变量去修改指针指向的内存的内容。 char * s=”hello”//这个虽然没有用const,但是这个字符串是const的。这段地址是不...原创 2018-04-18 20:00:01 · 143 阅读 · 0 评论 -
C++学习8内联函数
注意:本笔记来自网易云课堂学习内联函数inline function函数实现的时候需要pop call 堆栈等如果函数定义的时候前面加上inlineinline int f(int i){…}那么函数就不用之前的那么繁琐的过程了,如上图inline关键字在,h和,cpp中都要写,因为实际上函数是不存在的,只有inline的形式 inline函数的body只在.h文件中写。inline函数多次引用,...原创 2018-04-18 00:05:39 · 203 阅读 · 0 评论 -
C++学习7函数重载
注意:本笔记来自网易云课堂学习function overload函数名一样,但是参数类型或者参数个数不同。(但是函数类型不同不能构成overload的条件。不然编译器不知道调用的是哪个函数) 下面说的是默认参数值设置。在定义函数的时候可以默认一个参数值。如下:如果运行的时候,harpo只给了一个参数值2,那么默认m=4,j=5,可以缺省m,j !!default value只能是从右边缺省过来,不...原创 2018-04-16 21:37:28 · 152 阅读 · 0 评论 -
C++学习6继承
注意:本笔记来自网易云课堂学习 继承inheritance share:member datamember functioninterfaces 继承类可以继承原来类中的以上三个东西 比如一个student继承了personstudent是person的superset 基类超类父类(中文习惯这样说,但是英文中是parent) 派生类子类子类 class B:publicA{ }//B类是A类的子...原创 2018-04-15 17:02:32 · 113 阅读 · 0 评论 -
C++学习5访问限制、初始化、对象组合
访问限制Private只有成员函数可以访问注意:本笔记来自网易云课堂学习例子:#pragma onceclass A{public: A(); ~A(); void g(A*); void set(int);private: int i; int c;}; #include "A.h"#include<iostream>using namespace std;A::A(){}A::~A...原创 2018-04-15 16:37:00 · 167 阅读 · 0 评论 -
C++学习4构造函数和new delete
C++注意:本笔记来自网易云课堂学习构造函数 constructor 没有返回类型,名称和类的名称相同Class X{Public:X() } 构造函数可以有参数Class Tree{ }Tree(int a)Tree t(12) 析构函数~Tree(),在对象结束之前会调用析构函数 goto:jump;X a;Jump:…这样是错误的,因为jump跳过了初始化,但是会调用析构函数,但是没有构造函...原创 2018-04-14 22:05:27 · 148 阅读 · 0 评论 -
C++学习笔记3成员变量
注意:本笔记来自网易云课堂学习fields类中的成员变量,local variables本地变量,parameters函数参数成员变量在对象里面class A{private: int i;public: void f();}void A::f(){i=10;cout<<i<<endl;}#include<iostream>int main(){...原创 2018-04-10 21:42:05 · 117 阅读 · 0 评论 -
C++学习2
注意:本笔记来自网易云课堂学习时钟的程序框架应该是有5个源文件,4个类相关定义的文件,一个main翻译 2018-04-10 21:06:59 · 136 阅读 · 0 评论 -
C++学习-1
类的建立注意:本笔记来自网易云课堂学习C++新建类可以使用向导一个类要有.h(头文件)和,cpp文件(body) .h在你使用这个类的时候是要声明可以使用这个类的哪些接口函数等等.h文件里面只能放声明不能放定义,不然在不同的文件引用这个头文件的时候就会出现多次定义。声明:extern的变量函数原型(没有{ }的是声明,不然就是定义)是声明Class和struct的声明(这两个只有声明没有定义) #...原创 2018-04-09 22:46:46 · 295 阅读 · 0 评论