C++学习
文章平均质量分 68
Captain Franke
简单生活,热爱生活。
展开
-
内存四区简介
内存分为四部分:(1)静态区 存储静态变量 全局变量(2)代码区 存储计算机运行时的可执行代码 并且不会改变(3)堆区 (4)栈区 所有的自动变量 函数的形参 并且使用时是先进后出的,当一个自动变量超出栈时,将被释放(下面的程序),int* test()//函数的返回值是一个指针{ int a=0;//a 的作用域就是这个括原创 2017-09-29 21:02:38 · 750 阅读 · 0 评论 -
二级指针【C++】
欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46629065一、概念在如下的A指向B、B指向C的指向关系中:首先C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008。B是一个指针变量,其中存原创 2018-01-23 17:04:18 · 520 阅读 · 0 评论 -
5.3功能早绑定和晚绑定【C++】
5.3功能早绑定和晚绑定【C++】多态从实现的角度来讲可以划分为两类:编译时的多态性和运行时的多态。前者是在编译过程中确定了同名操作的具体对象,而后者则是在程序运行的过程中,才动态的确定操作所针对的具体对象。这种确定操作的具体对象的过程就是绑定。按照绑定进行的阶段不同,可以分为两种不同的绑定方法:功能早绑定和功能晚绑定,这两种绑定方法分别对应着多态的两种实现方式。绑定工作在编译连接阶段原创 2017-12-16 21:06:16 · 524 阅读 · 0 评论 -
3.3对象成员的访问【C++】
如何在类外对对象中的公用成员进行访问?方法主要有三种(1)通过对象名和成员运算符进行访问(2)通过指向对象的指针进行访问(3)通过对象的引用进行访问3.3.1 通过对象名和成员运算符进行访问一般形式为 对象名.成员名其中的 . 是成员运算符,其作用是对成员进行限定,指明成员属于哪个对象的成员。例如 test1.Show();3.3.2通过指原创 2017-10-13 16:44:55 · 822 阅读 · 0 评论 -
3.4构造函数与析构函数【C++】
3.4.1构造函数1.构造函数对的作用构造函数是累的一个特殊的成员函数,构造函数的作用是在创建对象时对对象的数据成员进行初始化,看下面的例子【例3-9】#include "iostream"using namespace std;class box{public: box() { length = 1;width = 2;height = 3; cout <<原创 2017-11-01 15:11:25 · 204 阅读 · 0 评论 -
字符串函数【C++】
1C++ 中有大量的函数用来操作以 null 结尾的字符串:strcpy(s1, s2);复制字符串 s2 到字符串 s1。2strcat(s1, s2);连接字符串 s2 到字符串 s1 的末尾。3strlen(s1);返回字符串 s1 的长度。4strcmp(s1, s2);如果 s1 和 s2 是相同的,则返原创 2017-11-04 17:43:02 · 224 阅读 · 0 评论 -
3.5对象数组【C++】
1.简介:对象数组和普通数组没有本质的区别,只不过普通数组的元素是简单变量,而对象数组的元素是对象而已。对象数组在实际中的主要应用在系统需要一个类的多个对象的情况。例如需要创建100学生档案,每个档案包括姓名,性别,年龄等内容。例如下面:Student students【100】;声明了100个学生数组,系统会调用100次,学生类对象的默认构造函数。【例子3-15】#i原创 2017-11-04 20:47:41 · 366 阅读 · 0 评论 -
3.6对象指针【C++】
3.6.1指向对象的指针Box box; //定义一个Box类对象boxBox *p = &box;//定义指针指向box//通过指针p和运算符->来访问对象box的公用成员函数Volumecout Volume() << endl;//通过指针p和*来访问对象box的公用成员函数Volumecout原创 2017-11-05 12:29:06 · 166 阅读 · 0 评论 -
5.2什么是多态性【C++】
5.1什么是多态性在C++程序设计中,多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。原创 2017-12-13 14:52:37 · 454 阅读 · 0 评论 -
3.7对象与const【C++】
既要让数据在一定范围内共享,又要保证数据的安全,这时就可以使用const,把对象或对象相关成员定义为const。3.7.1常对象常对象中的数据成员为常变量且必须有初始值,一般格式为:const 类名 对象名 【(实参表)】或者类名 const 对象名【(实参表)】例如 Box const box(1,2,3);需要注意的是,对象被定义为const,则不能调用该对象的非const原创 2017-11-24 17:42:15 · 143 阅读 · 0 评论 -
5.2向上类型转换【C++】
5.2向上类型转换根据赋值兼容原则,可以使用派生类的对象代替基类对象。向上类型转换就是把一个派生类的对象作为基类的对象来使用。下面通过一个程序来加深对它的理解#include using namespace std;class Point{public: Point(double a = 0, double b = 0) { x = a; y = b; }原创 2017-12-13 18:04:56 · 411 阅读 · 0 评论 -
3.5实现功能的晚绑定--虚函数【C++】
虚函数提供了一种更为灵活的多态性机制。虚函数允许函数调用与函数体之间的联系在运行时才建立,也就是在运行时才决定如何动作,即所谓的功能晚绑定。5.4.1 虚函数的定义和使用虚函数的定义是在基类中进行的,在成员函数原型的声明语句之前冠以关键字“virtual”,从而提供一种借口。一班虚函数成员的定义语法是:原创 2017-12-16 23:34:52 · 363 阅读 · 0 评论 -
野指针【C++】
野指针的成因:(1)指针变量没有被初始化。任何指针变量被创建时不会自动成为NULL指针,他的缺省值是随机的,他会乱指一起。所以,指针变量在创建的应当被初始化,要么降至真设置为NULL,要么指向合法的内存。(2)指针p被free或者delete之后,没有设置为NULL,让人误以为p是个合法的指针。转载 2017-09-12 22:21:15 · 255 阅读 · 0 评论 -
new和delete【C++】
(1)例子 用new分配整型内存单元#include "stdafx.h"#include using namespace std;{ int *p=NULL; p=new int; //用new申请一个存放int类型数据的内存单元, cout system("pause")原创 2017-09-13 10:40:07 · 240 阅读 · 0 评论 -
引用交换两个变量的值【C++】
(1)#include "stdafx.h"#include using namespace std;void change(int x,int y){int temp;temp=x;x=y;y=temp;}int _tmain(int argc, _TCHAR* argv[]){int x=10,y=20;cout原创 2017-09-13 11:50:03 · 4851 阅读 · 0 评论 -
c++指针【C++】
文档目录:指针的基本介绍指针的基本用法指针的基本实例空指针void指针指针小结引用指针和引用指针和数组 指针的基本介绍:指针到底是什么?指针其实就是一个变量,但是与其他的变量不同,它保存的是其他变量的地址,而不是数值。 就好像我们的身份证号码就是一个指针,而我们的名字是一个变量名,国家在寻找我们的时候,不是去查询我们的名字,而原创 2017-09-20 12:36:13 · 524 阅读 · 0 评论 -
3.2类的成员函数【C++】
1.成员函数的性质返回值类型 函数名字 (函数参数){ 函数体;}他与普通函数的区别在于,成员函数是属于某一个类的,是类的一个成员,在类外调用类内的函数时要注意函数的访问属性,成员函数可以访问类内的任何一个函数,对于类内的成员函数,一般的做法是需要被外界调用的成员函数,声明为公用的,不需要被外界调用的成员函数声明为私用的,2原创 2017-09-27 17:19:48 · 240 阅读 · 0 评论 -
c++之指针作为函数参数传递的问题【C++】
转自:http://blog.csdn.net/fjb2080/article/details/5623427原创文章,转载请注明出处,谢谢!作者:清林,博客名:飞空静渡博客地址:http://blog.csdn.net/fjb2080其实,对于C或者C++,最难的一块地方估计就是指针了。指针是强大的,但也是很多人载在这里的地方。前段时间写了一篇文章《C++之 数组与指针的异同》对C...转载 2018-04-01 17:11:14 · 198 阅读 · 0 评论