函数(二)

6.局部对象

  静态局部对象。

  静态局部对象定义后,在程序结束前都不会撤销。【结果11

  int printNum()

{

    staticint num=0;

    return ++num;

}

 

void main()

{

    for (int i = 0; i < 10; i++)

    {

        printNum();

    }

    cout<<printNum();

    system("pause");

}

7.类的成员函数

  类的成员函数函数体既可以在类内实现,也可以在类外。在类内实现的函数默认是内联的。

(1)每个成员函数都有一个额外的,隐含的形参this。在调用函数时,this默认为调用de函数对象的地址。

Eg:total.same_isbn(trans);

编译器重写为 book::same_isbn(&total,trans);

8.指向函数的指针

  函数指针是指指向函数而非指向对象的指针。

  bool (*pf)(const string & a,const string & b);

  //声明了指向函数的指针pf

(1)可用typedef简化函数指针的定义

typedef bool (*pf)(const string & a,const string & b);

表示pf是一种指向函数的指针类型的名字。

(2)指向函数的指针的初始化和赋值

bool change(const string &,const  string &);

pf pf1=0;

pf pf2=change;

 (3)通过指针调用函数。

      pf(“”,””);      (*pf)(“”,””);

原文地址:https://www.cnblogs.com/hometown/p/3204240.html