函数

在函数未被调用时,函数的形参并不占有实际的内存空间,也没有实际的值。只有在函数被调用时才为形参分配储存单元,并将是实参与形参结合。

1、值调用

      值调用是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参,这一过程是单向传递过程,一旦形参获得了值便于实参脱离关系,此后无论形参发生了怎样的改变,都不会影响实参。

2、引用调用

    引用调用是一种特殊类型的变量,可被认为是另一个变量的别名。通过引用名与通过被引用的变量名访问变量的效果是一样的。例如:int  &ri = i;

但是引用需注意:

    a、声明一个引用时,必须同时对他进行初始化,使它指向一个已存在的对象。

    b、一旦引用被初始化后,就不能改向其他对象。

    当引用作为形参时,调用函数时,形实结合,这样对形参的任何操作也就会直接作用与实参。

3、内联函数

    内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在内一个调用处,需注意:

   a、内联函数体内一般不能有循环语句和switch语句

   b、内联函数的定义必须出现在第一次调用之前

   c、对内联函数不能进行异常接口声明

4、带默认形参值的函数

   a、默认形参值必须按从右到左的顺序声明

   b、在相同作用域内,默认形参值的说明应保持唯一,但如果不同的作用域内,允许说明不同的默认形参

5、函数重载

函数按其不同的形参列表进行重载

6、构造函数与析构函数

构造函数:在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。函数名与类名相同,没有返回值,在对象被创建时被自动调用。

析构函数:用来完成对象被删除前的一些清理工作,在对象的生存期即将结束的时刻被自动调用的,名称由类名前加“~”构成,没有返回值且不接受任何参数,但可以是虚函数。若不进行显式的说明,系统也同样会生成一个不做任何事的默认析构函数

7、拷贝构造函数

        生成一个对象的副本有两种途径,第一是建立一个新对象,然后将一个已有对象的数据成员值取出来,一一赋给新的对象。第二是采用拷贝构造函数。

第一种虽可行,但繁琐;因而我们可以采用第二种方法

       拷贝构造函数:是一种特殊的构造函数,具有一般构造函数的所有特性,其形参是本类的对象引用,作用是使用一个已经存在的对象(由拷贝构造函数参数指定),去初始化同类的一个新对象。

       若没有定义类的拷贝构造函数,系统会在必要时自动生成一个默认的拷贝构造函数,这个默认的拷贝构造函数的功能是,把初始值对象的每一个数据成员的值都复制到新建立的对象中。

      声明拷贝构造函数:类名 (类名 &对象名);其调用时机有三种情况:

      a、当用类的一个对象去初始化该类的另一个对象时,如point B(A);b、如果函数的形参是类的对象,调用函数时,调用函数时,进行形参和实参的结合时。

      c、如果函数的返回值是类的对象,函数执行完毕返回调用者时

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值