1. 1、本文档共77页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++概要 第一章 更好的C 第二章 类和数据抽象 第三章 继承 第四章 虚函数和多态 第五章 STL和C++标准函数库 第六章 指针 第七章 运算符重载 第一章 更好的C 可以把C++看成更好的C 单行注释 C的注释 /*注释部分*/ C++可以用 //注释部分 形式简洁 C++的输出输入流 C采用printf和scanf函数 C++标准输出流cout和运算符 C++标准输入流cin和运算符. 注意:变量(i)在流提取运算符一起使用时不需要像scanf函数那样在变量前面加上地址运算符。 C++程序必须包含头文件iostream.h后才能使用输入/输出流。 C++中的声明 在C中,程序块的所有声明都必须出现在所有可执行语句之前。在C++中,声明可以放在使用声明内容之前。 例如:cout“Enter two integers:”; int x,y; coutxy; 变量也可以在for结构的初始化部分予以声明,其作用域仍然在定义for结构的程序块内。 例如:for(int i=0;i=5;i++) coutI; 函数原型和类型检查 在C++中要求函数的所有的参数在函数定义和函数原型的圆括号中声明 例如 int square(int)不返回值的函数要声明void类型。 在C中,空参数列表意味着所有的参数都不予以检查。在C++中,空参数列表意味着函数没有任何参数。具有这种特点的C程序在C++中编译可能会产生不同的效果。 对每个函数必须先提供函数原型或在使用前定义,否则C++程序不能通过编译。 内联函数 内联函数像C++函数一样 使用内联函数可以缩短执行时间。 例子: #define s(x) (x)*(x) 在执行couts(3+4);的时候解释成(3+4)*(3+4) #define s(x) x*x 则解释成3+4*3+4 使用内联函数 Inline int s(x) {return x*x;} Couts(3+4);输出49。 注意: 内联函数和宏的区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。 ?内联函数必须是和函数体申明在一起,才有效。像这样的申明Inline Tablefunction(int I)是没有效果的,编译器只是把函数作为普通的函数申明,我们必须定义函数体。 在C++中,在类的内部定义了函数体的函数,被默认为是内联函数。而不管你是否有inline关键字。 内联函数也有一定的局限性。就是函数中的执行代码不能太多了,如果,内联函数的函数体过大,一般的编译器会放弃内联方式,而采用普通的方式调用函数。这样,内联函数就和普通函数执行效率一样了。 引用参数 Int s(int x){return x*=x;} 引用参数可以改变原参数的值 程序员不小心把引用参数当作传值调用参数。如果函数修改了变量的原始拷贝,会导致意想不到的后果。 传递大型对象时,用常量引用参数既能够模拟传值调用的安全性,又能够避免传递大型对象拷贝的开销 Const限定符 函数列表中用const限定符说明不能在函数中修改传递给函数的参数。 Const可以用来声明常量可取代预处理指令#define 例如:const float pi=3.14159; Const可以用来声明常量指针: Int *const p=x; p指向的值可以被修改,但不能把p指向其他单元。 指向常量对象的指针 Const int *p=x; 这条语句把p声明为指向整常数的指针。P引用的值不能修改,但是p指向的内存单元可以修改。(可以看成是只读指针) 例如:const int* const p () const中各个const表示的意思. 第一个const表示指向const对象的。 第二个const表示是const指针函数。 第三个const表示是const函数。 动态内存分配 C++中使用new和delete来实现动态内存分配 Delete不能释放不是用new分配的内存。 C++允许初始化新分配的对象。例如: float *p=new float(3.14159); 可以用new动态的建立数组,例如: Int p;p=new int [100]; 动态分配是开辟一个地址给指针。 必须用delete收回,否则会消耗系统内存。 单目作用域运算符(::) 单目作用域运算符可以让局部变量访问同名的全局变量,但是不能访问其他程序块的同名变量。 函数重载 在C中两个同名函数是语法错误。 只要同名函数有不同的参数集,在C++中是可以定

文档评论(0)

考试教学资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档