自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++之伪函数

#include<iostream> #include<vector> #include<algorithm> using namespace std; /* *函数操作符()-----仿函数 *把类对象像函数名一样使用 *伪函数,就是使用一个类的使用看上去像一个函数,其实现就是类中实现一个 *operator(),这个类就有了类似函数的行为,就是一个伪...

2018-02-26 00:56:37 3372

原创 C++学习day18之 指向类成员的指针

#include<iostream> using namespace std; //指向类成员的指针 //类成员就包含两类,一类是数据成员,一类是函数成员。 //一定要看好,这里是类数据成员,不是对象数据成员 //指向类数据成员的指针 //定义<数据类型><类名>::*<指针名> //赋值&初始化 //<数据类型><类名&...

2018-02-26 00:51:54 224

原创 C++学习17之友元

#include<iostream> using namespace std; /* *有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成 *员,这时可以将这些函数定义为该函数的友元函数。 *同类对象间无私处,异类对象间有友元 *除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行 *效率(即减少了类型检查和安全性检查等都需要实...

2018-02-26 00:41:57 198

原创 C++学习16之static

#include<iostream> using namespace std; /* *我们先来回顾一下C语言的static *C语言中的static可以修饰两类东西 *第一个是全局变量,第二个是局部变量 *全局变量有个特点叫外链性 作用域仅限于本文件 就是修饰了作用域 *作为局部变量的时候,限制了生命周期和存储位置,以前对于一个局部变量来说 *存储位置在栈上面,但是加了...

2018-02-26 00:30:42 152

原创 C++学习day15之const

#include<iostream> using namespace std; /* *const修饰符 *1.const可以修饰数据成员,成员函数,类对象 *2.修饰数据成员的时候:初始化的位置只能在参数列表里面。 * 虽然你在构建类成员的时候能给初始值 * 但是我们构造类成员是用来定义...

2018-02-26 00:29:49 232

原创 C++学习day14之成员函数的存储

#include<iostream> #include<iomanip> using namespace std; /* *我们一直在说一个问题,那就是这个类的大小大概有多大呢 *它只包含数据类型的大小,不包含函数的大小。 *看下面这个例子,这里的输出结果为12。所以这里面的size是不包含函数的。 * */ #if 0 class Time { public:...

2018-02-26 00:26:26 153

原创 C++学习day13之返回值

#include<iostream> #include<cstdio> using namespace std; /* *先了解一下返回过程 *下面这段程序我们的main函数先压栈。然后里面放了一个i,然后func进入进行压栈 *我们func消失之后,那段栈就没了,那它是借助什么将返回值传递出去的呢。 *我们C语言是这么做的,它首先在外部找一个空间,func在消失以...

2018-02-26 00:20:16 138

原创 C++学习day12之this指针

#include<iostream> using namespace std; //下面的代码可以运行输出的结果是一样的 //this 就是生成对象的时候的指针。 //这个有什么好处呢 //有一天你比较二 //写了下面这段代码 //class Stu //{ //public: // Stu(string name,int age) // { // //这样会混乱,所以C++不能...

2018-02-26 00:16:48 140

原创 C++学习day11之string自实现

#include<iostream> #include<cstring> using namespace std; class String { public: String(const char *p=NULL) { if(p==NULL) { str=new char; *...

2018-02-25 23:13:18 159

原创 C++学习day10之构造器

#include<iostream> #include<cstring> using namespace std; /* *看我们前面所实现的,都会有一个init初始化, *然后我们想,这个初始化的工作能不能自动完成,比如你用string的时候 *你也没使用str.init(),我们不需要,实际上就是我们要学习的第一个叫做构造器 *构造器是什么东西,就是在构造...

2018-02-25 23:02:11 175

原创 C++学习day9之封装

#include<iostream> using namespace std; /* *C语言的封装风格 数据放到一起打包进struct,然后把数据以引用或指针的 *方式传给行为。 * *C++ 认为C封装不彻底 *数据和行为分类,没有权限控制。 *C++ 对内数据开放,逻辑抽象,对外,提供接口 * */ /* *类里面默认的是私有的。 *等价于 *class...

2018-02-25 22:53:26 178

原创 C++学习day8之string

#include<iostream> #include<cstring> using namespace std; /* *string 其实不是关键字,而是std下面的一个类。 * * */ int main() { /* *类的初始化的方式还有很多,比如string str("china"); *string str="hello"...

2018-02-25 22:41:53 159

原创 C++学习day7之namespace

#include<iostream> using namespace std; /*命名空间为了大型项目开发,而引入的一种避免命名冲突的一种机制 *比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在 *事先没有约定的情况下,两套类库可能存在同名的函数或是全局变量而 *产生冲突。项目越大,用到的库越多,开发人员越多,这种冲突就会约 *明显 */ #if 0 int v...

2018-02-25 22:35:34 130

原创 C++学习day7之类型转换

int main() { /* *假设我们定义一个float a=5.6; *int b=5; *如果我把float强转为int的话,就会把小数点给截没了,我把b转为float的话 *5就会变为5.0。static_cast对隐式类型转换,即可以使用此类型 * b=static_cast<int>(a); */ #if 0 float a=5.6; int...

2018-02-25 22:34:01 147

原创 C++学习day6之内联函数

#include<iostream> using namespace std; /* *宏函数的优缺点 *宏函数像这样的:#define SQR(i) ((i)*(i)) *优点:代码内嵌,不用发生函数调用。 *缺点:容易产生歧义,易使text段体积增大,不会进行类型检查 */ /*** * *函数的优缺点 *优点:一段高度抽象的逻辑,不易产生歧义,是text段体...

2018-02-25 22:25:20 150

原创 C++学习day5之new_and_delete

#include<iostream> #include<stdlib.h> //#include<string.h> #include<cstring> using namespace std; int main() { #if 0 /*C语言中提供了malloc和free两个系列打函数,完成对堆内存的申请和释放 *但是C++则提...

2018-02-25 22:20:26 116

原创 C++学习day4之引用

#include<iostream> using namespace std; /* 变量名,本身是一段内存的引用,即别名。此处引入的引用,是为已有变量起一个别名 */ int main() { /* * int a=100; *这是a是个变量名,实质是一段内存空间的别名, *这个就是出生的时候给它的。日后我们还可以给它取个别名,如下 ...

2018-02-25 22:04:44 147

原创 C++学习day3之默认参数

#include<iostream> #include<time.h> using namespace std; //这个世界上很多东西都是有默认状态的。 //这里可以给个默认参数 为2.5; //后面你调用的时候不传参数就是默认参数。 // //对于一个参数来说 void Weather_Cast(string weather = "rainy") { t...

2018-02-25 22:02:58 122

原创 C++学习day3之运算符重载

#include<iostream> using namespace std; #if 0 struct Complex //复数 { float real; float image; }; Complex operator+(Complex a,Complex b) { Complex c; c.real = a.real+b.real; c...

2018-02-25 21:59:33 215

原创 C++学习day2之函数重载

#include<iostream> using namespace std; /* *函数重载:同一个东西表示两个不同的意思,俩个不同的意思怎么区分呢,由语境决定,C语言里面函数名是不能相同的。 * *int func(int a) *int func(char b) *如果你int a=10;func(a)的话就是调用的int func(int a),看语境的。 *重...

2018-02-25 21:57:09 272

原创 C++学习day1之C++与C基础比较

/* * *这里主要说明C和C++类型增强的程序 * */ #include<stdio.h> #include<stdlib.h> int main() { /***C语言 const int a; 不赋初始值 * 如果你这样定义,只是你后面不能给他赋值,不代表编译不过去, * 但是C++不行,C++编译都通不过去 * 还有...

2018-02-25 13:39:05 175

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除