函数
考试要求: 掌握     
知识路径:  > 嵌入式系统软件基础知识  > 嵌入式系统程序设计  > 嵌入式程序设计语言  > 嵌入式C/C++程序设计要求  > C++程序设计基础  > C++程序基础


 
       在C++程序中可以使用C的库函数。例如,C++继承了C语言用于日期和时间操作的结构和函数。在程序中使用日期和时间相关的函数和结构,需要引用头文件。
       有四个与时间相关的类型:clock_t、time_t、size_t和tm。类型clock_t、size_t和time_t能够把系统时间和日期表示为某种整数。
       结构类型tm把日期和时间以C结构的形式保存,tm结构的定义如下:
       
       下面是几个与系统时间有关的函数声明(time.h)。
       
       内联函数
       定义函数时,在“返回类型函数名(参数表列)”之前加上inline使之成为内联函数,即“inline返回类型函数名(参数表列)”。
       对于内联函数,编译器是将其函数体放在调用该内联函数的地方,不存在普通函数调用时栈记录的创建和释放开销。
       使用内联函数时应注意以下几个问题:
       (1)在一个文件中定义的内联函数不能在另一个文件中使用。它们通常放在头文件中共享。
       (2)内联函数应该简洁,只有几个语句,如果语句较多,不适合定义为内联函数。
       (3)内联函数体中不能有循环语句、if语句或switch语句,否则函数定义时即使有inline关键字,编译器也会把该函数作为非内联函数处理。
       (4)内联函数要在函数被调用之前声明。
       函数的重载
       C++中,当有一组函数完成相似功能时,函数名允许重复使用,编译器根据参数表中参数的个数或类型来判断调用哪一个函数,这就是函数的重载。对于重载函数,只要其参数表中参数个数或类型不同,就视为不同的函数。例如,下面的max为重载函数。
       
       上面定义了三个名称为max的函数,它们的参数和返回值类型都不同。在程序中若有对max函数的调用,编译器将根据参数形式进行匹配,如果找不到对应参数形式的函数定义,编译器给出错误信息。
       定义重载函数时,应该注意以下几个问题。
       (1)避免函数名字相同,但功能完全不同的情形。
       (2)函数的形参变量名不同不能作为函数重载的依据。
       (3)C++中不允许函数名相同、形参个数和类型也相同而返回值不同的情形,否则编译时会出现函数重复定义的错误。
       (4)调用重载的函数时,如果实参类型与形参类型不匹配,编译器会自动进行类型转换。如果转换后仍然不能匹配到重载的函数,则会产生一个编译错误。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有