卡芬达家居怎么样:what is the mean of function ?

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 23:49:08
I want to know something about function in c++,and how to use it in programming !!
especially in function overload!!
help!

A class may have several constructors, for example:

class myClass {
//constructor 1
myClass(int nx,int ny, int size){ c = nx * ny;};
//constructor 2
myClass(int nx,int ny, int nz, int size){ c = nx * ny * nz;};
.....
}

When you generate instances of myClass, you may use:
myClass d2,d3;
d2.myClass(nx,ny,c);
d3.myClass(nx,ny,nz,c);

or use

d2.myClass(nx,ny,c);
....
b = a / c;
d2.myClass(nx,ny,nz,c);
....
b = a / c;

the later 2 d2.myClass() are "function overload",
one with 3 parameters and another with 4 parameters

我所知道的有三种意思:
1.网络流行语:JJ=姐姐
2.网络流行语:JJ=鸡鸡,男人的。。。
3.流行歌手昵称: JJ 林俊杰

主要以以下的内容为主!

1.函数的声明格式与定义格式。一个函数的返回值类型又称为函数类型,它可以为已经存在的任何一种类型引用,函数名可以为任何一个合法的标识符,形式参数包含有对每个形参变量的说明,函数体是一个复合语句。

2.函数调用表达式的语法格式及执行过程。函数调用中的实在参数表包含有若干个表达式,其个数通常与对应的形参个数相同。函数调用时,首先把实在参数表中每个实参的值对应传送给形参表中的每个形参变量,接着执行其函数体,当函数体执行结束或执行了return语句后就返回到调用表达式的位置,在原函数中继续向下执行。

3.当函数体调用不返回值(即被调用的函数void类型)时,调用表达式只能作为单独的语句出现,否则,当函数调用返回一个值时,调用表达式既可以单独作为一条语句出现,也可以作为表达式中的一个数据出现。

4.函数定义中的形参变量是作用于该函数的局部变量,当函数被调用时才临时为它分配存储空间,当函数执行结束后将自动由系统回收。

5.一个函数只有先被声明或定义后,才能被调用。函数声明语句与函数定义中的函数头基本相同,所不同的是:声明语句必然以分号结束,形参表中可以为任意形参名或着根本不给出。

6.形参为一维数组或二维数组时的说明格式以及对应实参的语法规则。函数调用中把实参数组传送给形参数组的操作只是传送实参数组所对应的存储空间的首地址,因此,形参数组和实参数组对应的是同一块数组空间,访问任一数组中的元素都是在这块数组空间上进行的,或者说,访问形参数组中的元素也就是访问实参数组中的元素。

7.变量的作用域的概念和含义。在函数外部定义的常量(包括符号常量和常值变量)或变量具有全局作用域,若全局变量没有显示初始化,则将被系统隐含初始化为0 。若在定义变量(包括定义常量变量在内)的语句或定义的函数之前加上static关键字,则它们只能为本程序文件所使用,否则能够为整个程序中的所有文件使用。在函数中任一个花括号内定义的变量为局部变量,其作用域从定义位置起到对应的右花括号位置,当离开其作用域后,所分配的存储空间将自动被系统回收。局部变量未被初始化时,其值是不确定的。当然无论是全局变量还是局部变量,都必须遵循先定义后使用的原则。

8.函数模板(又称模板函数)的定义格式及其作用。函数模板的实例化,实例化与已有函数定义之间的优先关系。

一般掌握的内容有:

1.函数的递归调用的概念和递归函数的具体执行过程。

2.头文件在程序文件中的位置和作用。 3.函数声明或定义中可选参数的使用,对应的函数调用的格式及执行过程。

4.内联函数的定义与作用。

5.函数重载的概念。函数名相同,但对应形参表不同的一组函数称为重载函数。参数表不同的是指参数个数不同或在个数相同的情况下至少有一个参数对应类型不同。

6.由static修饰的局部变量的特性。特性之一是:若未被初始化,则隐含初始化为0;特性之二是:当离开所定义的作用域后,该变量所对应的存储空间依然存在,不会被系统收回,以后再调用该函数时可继续访问它。

其实在面向过程的语言时就出现了函数 我认为就是为了节约开销 你总不能调用一次就重写一遍代码吧?费时又费力阿
后来不是有了面向对象么?什么东西都被抽象成了结构(之后才是类),类中的数据叫做属性,函数叫做方法,那么就有引出了我们怎么用函数呢?首先,你买的库中声明了一个类
class bird {
int weight;
public:
bird(int w){weight=w;};
bird(){weight=10;};
void fly();
}
你用这各类定义一个对象 麻雀 bird maque; 然后就可以通过 maque.fly();
调用这个函数了 你说到了overload重载,它为面向对象提供了多态性 c++中函数的重载是靠参数不同来区别的(不能靠返回值);比如bird类中的两个构造函数就是靠不同的参数加以区别的,不同的参数调用不同的函数(这是安全的),这样编写程序就方便很多了,这个例子看起来很罗索,完全可以用默认参数解决,但有些问题还是重载来的好。
你还是看几遍书吧,推荐thinking in c++这本很好从编译器行为入手讲得很透

功能和函数的意思

函数