C++:有关函数的知识概括
2018-01-11 13:30
309 查看
/*本文为个人学习笔记,发表博客作为学习动力,C++小白,如若有错误请指出,谢谢啦*/
什么是函数:
一个函数就是一个功能。
函数的使用:
1.定义和调用。
2.声明,调用和定义。
函数的分类:
库函数,自己定义的函数,无参函数,有参函数。
特别注意:
在函数名前加一个void意味着该函数没有返回值,将形参写viod意味着不给实参。
无参无返回值函数的应用举例:
void a(void) //括号内的void表示该函数没有函数参数,不必也不能给参数,也可以省略void
{
cout<<"hello!";
}
函数的定义:
类型名 函数名(形参)
{
执行语句
}
函数的返回值:
可以有多个return,但是只能返回一个。且返回类型要与调用处的数据类型一致。
函数的调用:
调用函数的形式为 函数名(实参);or 函数[ 实参 ];
调用后加分号;
函数调用的方式:
1.语句a(2);
2.表达式 a=1+a(2);
3.函数参数 a( b(2) );
函数的使用有两种方法:
1.定义写在main函数之前,不用声明。
2.先声明再定义:
void main( )//主函数
{
数据类型 函数名(形参数据类型);//声明
}
数据类型 函数名(形参数据类型);//定义
{
}
嵌套调用:
即在函数体内调用另一个函数
递归调用:
即在函数体内调用自己
内置函数:
声明为内置函数,要在函数定义前加inline。内置函数可以提高运行效率。内置函数语句不能太复杂。
规模小又被频繁使用的函数适合做内置函数。
函数的重载:
使一个函数名字可以多用。但是参数个数,参数类型,参数顺序三者中必须至少有一种不同。
比如说需要写几个不同数据类型的max函数,即使用函数重载,函数名字可以相同。
函数模版:
按照上面函数重载的举例,则max函数的语句是一样的,懒到一种境界,则使用函数模版。则可以少写一点。
即通用函数,但是其函数类型和形参类型不具体指定。
/*定义模版一般形式*/
template<typename T>//写在前面做模版声明
T max(T A,T B) //模版的定义与普通函数相同,只不过将数据类型更换成T
{
if(A>B){return A;}
else return B;
}
/*调用时*/
int i,a,b;
i=max(a,b);//调用模版时,此时的T被int替换。
有默认参数的函数:
int a(int b=1);
根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。
内部函数:
只能被本文件中其他函数调用
static 类型标识符 函数名(形参表)
外部函数:
如果在函数首部的最左端加关键字extern,则表明此函数是外部函数,可供其他文件调用。
extern 类型标识符 函数名(形参表)
什么是函数:
一个函数就是一个功能。
函数的使用:
1.定义和调用。
2.声明,调用和定义。
函数的分类:
库函数,自己定义的函数,无参函数,有参函数。
特别注意:
在函数名前加一个void意味着该函数没有返回值,将形参写viod意味着不给实参。
无参无返回值函数的应用举例:
void a(void) //括号内的void表示该函数没有函数参数,不必也不能给参数,也可以省略void
{
cout<<"hello!";
}
函数的定义:
类型名 函数名(形参)
{
执行语句
}
函数的返回值:
可以有多个return,但是只能返回一个。且返回类型要与调用处的数据类型一致。
函数的调用:
调用函数的形式为 函数名(实参);or 函数[ 实参 ];
调用后加分号;
函数调用的方式:
1.语句a(2);
2.表达式 a=1+a(2);
3.函数参数 a( b(2) );
函数的使用有两种方法:
1.定义写在main函数之前,不用声明。
2.先声明再定义:
void main( )//主函数
{
数据类型 函数名(形参数据类型);//声明
}
数据类型 函数名(形参数据类型);//定义
{
}
嵌套调用:
即在函数体内调用另一个函数
递归调用:
即在函数体内调用自己
内置函数:
声明为内置函数,要在函数定义前加inline。内置函数可以提高运行效率。内置函数语句不能太复杂。
规模小又被频繁使用的函数适合做内置函数。
函数的重载:
使一个函数名字可以多用。但是参数个数,参数类型,参数顺序三者中必须至少有一种不同。
比如说需要写几个不同数据类型的max函数,即使用函数重载,函数名字可以相同。
函数模版:
按照上面函数重载的举例,则max函数的语句是一样的,懒到一种境界,则使用函数模版。则可以少写一点。
即通用函数,但是其函数类型和形参类型不具体指定。
/*定义模版一般形式*/
template<typename T>//写在前面做模版声明
T max(T A,T B) //模版的定义与普通函数相同,只不过将数据类型更换成T
{
if(A>B){return A;}
else return B;
}
/*调用时*/
int i,a,b;
i=max(a,b);//调用模版时,此时的T被int替换。
有默认参数的函数:
int a(int b=1);
根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。
内部函数:
只能被本文件中其他函数调用
static 类型标识符 函数名(形参表)
外部函数:
如果在函数首部的最左端加关键字extern,则表明此函数是外部函数,可供其他文件调用。
extern 类型标识符 函数名(形参表)
相关文章推荐
- C++:有关变量的知识概括
- 有关C++中的数组的知识
- js 有关字符串的函数 以及一些和字符串有关的知识
- C++函数参数的基础知识
- C/C++——一些与输入有关的istream类成员函数
- Linux中的file_struct、t命令以及atexit函数有关知识
- C/C++知识要点4——printf函数以及cout的计算顺序
- C++函数对象,Lambda,function,bind相关知识
- c++继承虚函数有关问题的笔记
- 【C++】类和对象--基础知识+四个默认成员函数+运算符重载
- C++基础知识--static成员和const成员函数
- C++基础知识梳理--C++的6个默认函数
- 介绍有关学习C++ STL的预备知识和STL的相关背景知识,适合想对STL做大致了解的初学者
- C++ 与“类”有关的注意事项总结(四):静态类成员 和 静态成员函数
- C/C++基础知识:函数指针和指针函数的基本概念
- 【一问一答】c++基础知识 ||类,模版,多态,虚函数
- C++_函数模板基础知识
- C++中的作用域运算符和函数参数缺省值知识
- C/C++基础知识:函数指针和指针函数的基本概念
- C++中有关STL自带的排序函数:sort、qsort