自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

D_R的博客

要啥自行车?

  • 博客(19)
  • 收藏
  • 关注

转载 函数模板和类模板的使用

函数模板//交换 int 变量的值void Swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}//交换 float 变量的值void Swap(float *a, float *b){ float temp = *a; *a = *b; *b = temp;}//交换 char 变量

2016-12-28 17:24:33 1371

原创 基类和派生类的各种访问

公有继承:左边的是在基类中的->右边的是继承到派生类后public->publicprotected->protectedprivate->无法访问除了private其他的都可以直接访问的私有继承:public->privateprotected->privateprivate->无法访问保护继承:public->protectedprote

2016-12-27 20:35:56 1107

原创 构造函数的继承关系

基类的构造函数和析构函数是不能够被继承的父类(基类)被子类继承后,要实例化(new,应该叫实例化吧?)一个子类(派生类)的时候,编译器会自动帮调用父类的无参构造方法来实例化一个父类。如果父类写了一个含参数的构造方法的话,那么系统不会帮写一个空的无参构造方法,除非自己手动写了一个无参的构造方法。因此如果父类只写了含参构造方法而没有写无参构造方法的话,或者想调用含参的构造方法,那么得在子类体的第一

2016-12-27 19:49:00 276

转载 运算符的重载

几乎所有的运算符都可用作重载。具体包含:    算术运算符:+,-,*,/,%,++,--;    位操作运算符:&,|,~,^,>    逻辑运算符:!,&&,||;    比较运算符:,>=,    赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,>=;    其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete

2016-12-27 18:35:22 297

原创 C++中的关于指针的问题

1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:int a = 25;int *ptr = &a;int b[10];int *point = b;   int *

2016-12-27 16:06:48 2132

转载 静态数据成员和静态数据成员函数

c++中的static静态数据成员和静态成员函数应该是让大家比较头疼的东西,好像也是找工作公司面试中常常问到的东西。我自己也深有体会,在学习c++的过程中,总感觉static很烦人,但是又是一个必须懂的东西,所以今天就对静态数据成员和静态成员函数坐下小结哈!一、静态数据成员1.静态数据成员怎么去定义?在类中声明静态数据成员很简单,是以static关键字表明即可,

2016-12-27 15:25:29 5916 5

原创 C++的指针和引用

#include#include#includeusing namespace std;void func(double *pd, int &ri)//*pd就是取x的地址上的值,就是x的值,以达到引用的作用,不可用变量接收,如果实参是变量的话,可以使用引用接收{ ri = 100; *pd = 1000;}int main(){ double x=0; int y=

2016-12-26 21:16:47 255

原创 结构体和联合体

联合体与结构体是很容易混淆的概念。粗略一看,两者无论声明、定义还是定义对象的方式都很相似。然而这两个东西的概念和作用实际千差万别。首先,联合体的各个成员共用内存,并应该同时只能有一个成员得到这块内存的使用权(即对内存的读写),而结构体各个成员各自拥有内存,各自使用互不干涉。所以,某种意义上来说,联合体比结构体节约内存。举个例子:typedef struct{ int i;

2016-12-26 20:33:29 275

转载 内存对齐,占用内存,结构体

typedef struct ms3  {     char a;     short b;     double c;  } MS3;    我想你一定能得出如下正确的布局图:                                   sizeof(short)等于2,b字段应从偶数地址开始,所以a的后面填充一个字节,而sizeo

2016-12-26 20:25:35 291

转载 strcat的应用

函数定义:char *strcat (char *dest,const char *src)函数说明:strcat()会将参数src字符串拷贝到参数dest所指的字符串尾,第一个参数dest要有足够的空间来容纳要拷贝的字符串;返回值:  返回dest字符串参数的起始地址;接下来分三种情况来看strcat()函数是可行:方案一:两个参数都是数组点击(此处)折叠

2016-12-26 19:39:39 539

原创 数组的大小及定义sizeof和strlen

char a[] = "abcd"; char b[] = {'a','b','c','e','f'}; int d = strlen(a);//4 int e = strlen(b);//16 cout << d << " " << e << endl; cout << a[2]<<" "<<b[2]<< endl; return 0;char st[20] = "h

2016-12-26 16:57:59 1940

转载 C++默认参数与函数重载 注意事项

C++默认参数与函数重载 注意事项一、默认参数在C++中,可以为参数指定默认值。在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数。默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值。这就是默认参数;(2)在函数调用时,省略部分或全部参数。这时可以用默认参数来代替。注意:(1)默认参数只可在函数声明中设定一次。只有在没有函数声明时

2016-12-26 15:49:10 486

原创 C++关于运算符的优先级

例子1:int a = 1, b = 2; int c = a+++b;//a++ +b cout << c << " "<<b<<" "<<a<<endl;//3 2 2,虽然运算的过程中a的值为1;但是结果为2 return 0;例子2:设a=2,b=3,c=2;计算a+=b*=(++b-c++)中的a,b,c的值为?++b  -   c++;//4-2;   求结果c

2016-12-26 14:12:19 784

原创 关于二叉树结点的小公式

1) 二叉树的第i 层上至多有2^(i-1) 个结点。2) 深度为k 的二叉树至多有2^k-1 个结点。满二叉树:深度为k,有2^k-1 个结点。完全二叉树:给满二叉树的结点编号,从上至下,从左至右,n 个结点的完全二叉树中结点在对应满二叉树中的编号正好是从1 到n。3) 叶子结点n0,度为2 的结点为n2,则n0 = n2+1。考虑结点个数:n = n0 + n1 + n2

2016-12-24 15:58:20 7182

转载 最小生成树的两种方法

克鲁斯卡尔算法:图解过程:原图如下                                               边集数组按权值顺序排列                           边和在添加到图中的时候形成了环,所以不能将v1和v2,v4和v5连起来。普里姆算法方法:从指定顶点开始将它加入集合中,然后将集合内的顶点

2016-12-23 19:52:43 15812 1

转载 将中缀表达式转化为后缀表达式

我们把平时所用的标准四则运算表达式,即“9+(3-1)*3+10/2"叫做中缀表达式。因为所有的运算符号都在两数字的中间,现在我们的问题就是中缀到后缀的转化。中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”规则:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号

2016-12-22 21:24:50 640

原创 抽象类和虚基类的定义及用途

抽象类不能实例化对象!为了让一个类成为抽象类,至少必须有一个纯虚函数。包含至少一个纯虚函数的类视为抽象类!classA{public:virtual void lock(void)=0;virtual void unlock(void)=0;virtual ~A(void);}//将函数lock()和unlock()初始化为0使它们成为纯虚函数,没有0这个初使化器,它们仅

2016-12-21 19:41:51 17029

原创 const保护初始数据

#include#include#includeusing namespace std;class MyClass{public: MyClass(int a); void SetX(int a){ X = a; } ~MyClass(); void Print()const{ cout << X; } int X;};MyClass::MyClass(int a)

2016-12-21 18:06:06 381

原创 C++关于引用的小知识

#include using namespace std;void fun1(int b){b = 1;}void fun2(int &b){b = 2;}void fun3(int *b){*b = 3;}void main(){int a = 0;fun1(a);cout fun2(a);cout fun3(&

2016-12-20 16:10:22 91

空空如也

空空如也

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

TA关注的人

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