精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
函数是为特定功能服务的一组代码,这个组由{}包括起来,在{}前面有给函数命名的一些约定,命名包含有返回值类型、函数名和参数列表组成,参数列表由()包括起来。比如:void swap(int " a,int " b) {};,从void到)都是命名部分。
复杂功能依赖于子功能函数的调用;把所有功能写到一个函数里,会给理解和测试带来巨大压力,会导致很多问题。比如C语言学习里的总结选举流程,如果全写在一个函数里,有300行左右,函数前半段定义的变量和后半段写的变量放在一起,会让初学者更难理解,如果把变量和对应的区块划分不同的函数,则对独立的函数理解会容易些。
但是建立子函数,也要面临挑战,解决些问题才能实现。给函数提供数据和获取函数的结果,这对初学者来说是新问题。这个不实践下,是理解不了的。不过前期可以参考些源代码,在理解别人代码基础上,做些改动,逐步提高。
C语言里最早认识的是main函数,接着是子函数;使用多个源代码文件后,又产生了全局函数;有些爱好者学习的比较深入,会接触到函数指针。
C++里有类成员函数,和静态功能结合,又产生了静态成员函数;当然还有特殊的构造函数和析构函数;为了支持多态,又引入了虚函数,虚函数和析构函数结合又杂交出来虚析构函数;
DLL里的函数可以通过函数入口找到并调用。
现在网页开发里又有函数式编程新技术。
unsigned GetVal() const {return m_valu;}
void SetVal(unsigned x) {m_val=x;}
CCounter Add(const CCounter &cnt);
/*老师,参数包含类的引用,该类引用又包含成员函数Add,Add的参数又包含引用,好乱呀。*/
private: unsigned m_valu;}
千万不要这样想
函数是不属于对象的
是属于类的
函数就相当于一种能力