函数(二)
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)(“”,””);
人生无处不代码,没有代码不人生。