时间:2024/2/22来源:本站原创作者:佚名
白癫疯游泳 http://news.39.net/bjzkhbzy/171001/5738102.html
1.C++语言概述

1.1C++和C的关系:

C++保留了C语言原有的所有优点,增加了面向对象的机制;

C++是由C发展而来的,与C兼容,C++是C的超集;

用C语言写的程序基本上可以不加修改地用于C++;

C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。

1.2C++对C的“增强”,表现在两个方面:

(1)在原来面向过程的机制基础上,对C语言的功能做了不少扩充。

(2)增加了面向对象的机制。

”C++的目标是——在保证效率与C语言相当的情况下,加强程序的组织性,保证同样功能的程序,C++更短小。”

2.变量

2.1变量的const限定

在变量定义前加上const修饰,这样的变量称为只读变量(read-onlyvariable)或常变量(constantvariable)

它在程序运行期间的值不能被修改。其定义的一般形式为

const限定过的变量在编译过程中若发现有修改的操作时会报编译错误,从而“阻止”对变量的修改。

使用const限定强制实现对象最低访问权限,是现代软件开发的设计原则之一。

举例:

.顺序结构的程序设计

.1格式控制

可以在输入输出流中使用控制符进行格式控制。使用这种方法,需要在程序中加入iomanip头文件。

4.函数

4.1函数的参数

函数参数是实现函数时的重要内容,是函数接口的首要任务,围绕这个目标需要研究:

①形式参数的定义与实际参数的对应关系。

②函数参数的数据传递机制,包括主调函数与被调函数的双向数据传递。

(1)形式参数

函数定义中的形式参数列表(parameters),简称形参。

(2)形式参数相关说明:

1)函数定义时指定的形参,在未进行函数调用前,并不实际占用内存中的存储单元。

2)只有在发生函数调用时,形参才分配实际的内存单元,接受从主调函数传来的数据。

)当函数调用结束后,形参占用的内存单元被自动释放。

()实际参数

函数调用时提供给被调函数的参数称为实际参数

(arguments),简称实参。

实参必须有确定的值,因为调用函数会将它们传递给形参。实参可以是常量、变量或表达式,还可以是函数的返回值。

(4)实参相关说明

1)实参的类型、次序和数目要与形参一致。

2)如果参数数目不一致,则出现编译错误;

)如果参数次序不一致,则传递到被调函数中的数据就不合逻辑,难有正确的程序结果;

4)如果参数类型不一致时,则函数调用时按形参类型隐式类型转换实参;

4.2程序通常有两种函数参数传递机制——值传递和引用传递。

值传递(pass-by-value)过程中,形参作为被调函数的内部变量来处理,即开辟内存空间以存放由主调函数复制过来的实参的值,从而成为实参的一个副本。

值传递的特点是被调函数对形参的任何操作都是对内部变量进行,

值传递时,实参数据传递给形参是单向传递,即只能由实参传递给形参,而不能由形参传回给实参。

4.内联函数

C++提供一种提高函数效率的方法,即在编译时将被调函数的代码直接嵌入到主调函数中,取消调用这个环节。这种嵌入到主调函数中的函数称为内联函数(inline

function)。

内联函数的声明是在函数定义的类型前加上inline修饰符,定义形式为:

内联函数中不允许用循环语句和switch语句。

内联函数的声明必须出现在内联函数第一次被调用之前。

举例:

内联函数调用示意:

4.4默认参数

C++允许在函数定义或函数声明时,为形参指定默认值,这样的参数称为默认参数(defaultargument),一般形式为:

(1)如果在函数定义时设置了默认参数,那么就不能在函数声明中再次设置,反之亦然。

(2)可以设置多个默认参数,设置的顺序为自右向左,换言之,要为某个参数设置默认值,则它右边的所有参数必须都是默认参数。

()默认值可以是常量、全局变量,甚至是一个函数调用(调用实参必须是常量或全局变量的表达式),不可以是局部变量。

带默认参数的函数举例。

4.5函数重载

函数重载(functionoverloading)是在同一个域中用同一个函数名来定义多个函数,但函数参数列表应彼此有不同,或者是参数个数不同,或者是参数类型不同,或者两者均有不同。

函数重载的使用说明:

(1)重载函数的形参必须不同(个数不同或类型不同)。

(2)编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。

()不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆。

4.6函数模板

函数模板(functiontemplate)是一个独立于类型的函数,可作为一种模式,产生函数的特定类型版本。

使用函数模板可以设计通用型的函数,这些函数与类型无关并且只在需要时自动实例化,从而形成“批量型”的编程方式。

函数模板定义的语法形式为:

模板形参表(templateparameterlist)是用一对尖括号括括起来的一个或多个模板形参的列表,不允许为空,形参之间以逗号分隔,其形式有两种。

①第一种形式

②第二种形式

函数模板举例。

4.7库函数的调用

所谓库函数是指事先由程序员编制好的函数。

多数情况下,基于各种理由,如保护知识产权,这些库函数仅提供二进制形式的目标代码给调用者链接,却没有提供源码形式的函数定义。


转载请注明原文网址:http://www.gzdatangtv.com/bbqb/bbqb/18611.html
------分隔线----------------------------