- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
14C语言基础
C++语言基础 第十四章 本章目标 C++ 与 C C++的优点 过程化编程方法和面向对象编程方法 C++中的数据类型 引用类型 函数重载、参数默认值 C++中的动态内存分配 C++与C的关系和区别 在C语言中引入了面向对象的思想 是一种混合型的语言,同时支持结构化程序设计和面向对象程序设计方法 兼容C语言,可不加修改地使用C语言代码 允许数据抽象,支持封装、继承和多态等特征 C++的优点 C ++标准库 C++编译器都提供有完整的标准库 C++标准库中的几乎所有内容都是在命名空间std中定义的 使用C++标准库将获得非常多的功能 C++ 命名空间 using namespace std; int main() { /*这是一个示例程序*/ cout“Hello World“endl; … return 0; } 命名空间是为了解决大型工程中潜在的名称冲突 C++中有一些保留字,称为关键字,如namespace、return 过程化编程方法 传统的程序设计方法是模块化(或结构化)的方法: 1)整个软件系统功能逐步细化为多个小的功能。 2)多个小的功能对应由一个模块(如函数,过程,分程序,子程序等)实现。 3)多个模块合作完成较大的功能,所有模块的合作完成整个软件系统功能。 面向对象编程方法 面向对象的编程的编程方式需要定义专用于某程序的新数据类型,一旦定义好需要的数据类型,就可以根据这些新数据类型来编写程序 数据类型分类 C++中数据有常量和变量之分,它们分别属于以下 这些类型 数据类型概述 基本数据类型有4种:整型(int)、实型 (float、double)、字符型(char)、逻辑型(bool) 空类型void:用于显示说明一个函数不返回任何值 构造类型,又称为组合类型,它是由基本类型按照某种规则组合而成的 指针类型:变量用于存储另一变量的地址,而不能用来存放基本类型的数据 类类型:是体现面向对象程序设计的最基本特征,也是体现C++与C最大的不同之处 bool类型 值为true和false 声明方式:bool result; result=true; 可以当作整数用(true一般为1,false为0) 把其它类型的值转换为布尔值时,非零值转换为true,零值转换为false 结构体位段 C++定义结构体中,可以为其成员定义时指定所占的位数(1个字节为8个位) 扩展C的C++ 强制类型转换还支持:type(cast) 域运算符-1 C++中增加的作用域标识符 :: 用于对与局部变量同名的全局变量进行访问。作用域标识符 :: 还可用于表示类的成员,这将在关于类的一节中详细说明。 域运算符-2 #include stdio.h int var=1; main() { int var=0; printf(var=%d\n,var); //局部变量 var=::var; //引用全局变量 printf(after var=::var %d,var); } 函数重载-1 C++允许定义多个同名函数表示类似的操作 函数重载又称为函数的多态性 函数重载不同形式: 形参数量不同 形参类型不同 形参的顺序不同 形参数量和形参类型都不同 调用重载函数时,编译器通过检查实际参数的个数、类型和顺序来确定相应的被调用函数 函数重载-2 合法的重载例子: int abs(int i); long abs(long l); double abs(double d); 非法的重载例子: int abs(int i); long abs(int i); void abs(int i); //如果返回类型不同而函数名相同、形参也相同,则是不合法的,编译器会报语法错误。 函数重载-3 带默认形参值的函数-1 函数声明或者定义的时候,可以给形参赋一些默认值 调用函数时,若没有给出实参,则按指定的默认值进行工作 带默认形参值的函数-2 函数没有声明时,在函数定义中指定形参的默认值 函数既有定义又有声明时,声明时指定后,定义后就不能再指定默认值 默认值的定义必须遵守从右到左的顺序,如果某个形参没有默认值,则它左边的参数就不能有默认值。 void func1(int a, double b=4.5, int c=3); //合法 void func1(int a=1, double b, int c=3); //不合法 函数调用时,实参与形参按从左到右的顺序进行匹配 带默认形参值的函数-3 带默认形参值的函数的二义性 重载的函数中如果形参带有默认值时,可能产生二义性 内联函数 内联函数定义inline 实现 意义 引用类型 引用
原创力文档


文档评论(0)