函数
1 函数的重载: 函数名相同,参数个数不同
参数个数相同,参数类型不同
函数的签名
重载和指针参数
例如:int temp(int * pnum1,int * pnum2);
int temp(long * pnum1,long * pnum2);
重载和引用参数
重载和const参数
2 函数模板
一个简章的函数模版
template<class T> T larger(T a, T b)
{
//函数体
}
创建模版的实例
larger(1.5,2.5);
显示指定模板参数板
larger<long>(num1,num2);
模板说明
template<> long * larger<long*> (long * a,long * b)
{
return *a>*b?a:b;
}
函数模板重载
long * larger(long * a,long * b);
带多个参数的函数模板 (第二个参数为模板的返回类型)
template <TReturn, class TArg> TReturn larger(TArg a,TArgb)
{return a>b?a:b;}
非类型的模板参数
例如(检查值的作用域):
template(class T,int upper,int lower) bool isin_range(T value)
{
return (value<=upper)&&(value>=lower);
}
3 函数指针
可用类和函数的重载来替代此功能
声明函数指针
例如(pFun指向一个函数,有两个参数long* 和int,返回值为long)
格式如下:
返回类型(指针名)(参数列表)
long (* pFun)(long *, int);
在使用函数指针调用函数之前,必需先初始化函数指针
代码如下:
long test(long * num1,int num2);
pFun=test;
在使用函数指针的时候就跟使用函数名是一样的
把函数作为参数传送
例如:函数原型
double sum_array(double array[],int length,double(*pfun)(double));
函数指针的数组
例如:
double fun1(double,double);
double fun2(double,double);
double fun3(double,double);
double (*pfun)(double,double)={fun1,fun2,fun3};
4 递归
例如计算一个数的阶乘
long function(long n)
{
if(1==n)
{
return n;
}
return n*function(n-1);
}
实现递归排序
分享到:
相关推荐
### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...
C++学习笔记C++学习笔记C++学习笔记C++学习笔记C++学习笔记
C++学习笔记
这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...
C++是一种静态类型、编译式、通用的编程语言,它支持过程化编程、面向对象编程和泛型编程。C++广泛应用于软件开发领域,包括操作...以上内容覆盖了C++语言中一些基础知识点,对于学习和理解C++编程具有重要的指导意义。
【C++学习笔记】这份详尽的资源是为那些希望深入了解C++编程语言的人们精心准备的。C++是一种强大的、通用的编程语言,它的设计理念是面向对象,同时支持过程化编程,使得它在系统软件、应用软件、游戏开发、设备...
【C++ 学习笔记】深入理解编程与C++基础 C++是一种强大的、面向对象的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统以及许多高性能应用。学习C++不仅仅是掌握语法,更重要的是理解编程的核心概念,以便更好...
C++核心学习笔记pdf
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记002
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记003
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记004
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记001
【C++学习笔记概述】 C++是一门强大的编程语言,其在C语言的基础上进行了扩展,引入了许多现代化的特性。这份笔记主要涵盖了C++的基础知识,包括C++11和C++17的新特性,旨在帮助初学者理解C++的核心概念。 ### C++...
C++学习笔记 本文档提供了C++语言的基础知识,包括输入输出、变量、数据类型、运算符、内存管理、指针、流程控制语句等。 输入输出 C++语言提供了多种输入输出方式,包括使用cin和cout对象。cin对象用于从标准...
《新手C++学习笔记》是一份专为编程初学者打造的资源,旨在帮助那些刚刚踏入C++编程领域的“菜鸟”快速成长。这份笔记包含了前辈们的实践经验总结,具有很高的学习价值。文档以.doc格式存储,方便读者使用常见的文字...
今天,让我们一起深入探究《黑马C++学习笔记》,这本涵盖了C++编程基础与核心概念的全面教材。 首先,C++的基础知识是每个学习者必须掌握的部分,这包括变量的声明与赋值、输出语句等基本操作。在C++中,变量的声明...
C++是一种强大的面向对象编程语言,它源自C语言并扩展了其...学习这些概念是成为C++程序员的第一步。在实际编程中,还需要理解类、对象、继承、多态等面向对象编程的概念,以及函数、模板、文件操作等更高级的主题。
这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...
《C++学习笔记经典(与C比较)》这份资料应该会详细讲解这些知识点,并通过实例来帮助读者深入理解C++与C的差异,以及如何在实际编程中应用C++的特性和功能。这份资料可能会涵盖基本语法、类和对象、模板、STL的使用...