正文

C++个人回顾小结: 类(三)&&个人实践小结2006-12-16 11:38:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/edwardguo/21622.html

分享到:

内联函数和外联函数

内联函数:定义在类体内

外联函数:定义在类体外

内联函数的特点:

调用时在调用函数处用内联函数体的代码进行替换,节省调用开销,提高运行速度。

外联函数变成内联函数的方法:

在函数头前面加上关键字inline。

 

class A
{
 public:
  A(int x, int y){X=x;Y=y;}
  int a(){return X;}
  int b(){return Y;}
  int c();
  int d();
 private:
  int X,Y;
};
inline int A::c()
{
 return a()+b();
}
inline int A::d()
{
 return c();
}

#include<iostream.h>
void main()
{
 A m(3,5);
 int i = m.d();
 cout<<"d() return:"<<i<<endl;
}                                       

输出:

d() return:8

函数的重载性:

class M
{
 public:
  M(int x, int y){X=x;Y=y;}
  M(int x){X=x;Y=x*x;}
  int Add(int x, int y);
  int Add(int x);
  int Add();
  int Xout(){return X;}
  int Yout(){return Y;}
 private:
  int X,Y;
};

int M::Add(int x, int y)
{
 X=x;
 Y=y;
 return X+Y;
}

int M::Add(int x)
{
 X=Y=x;
 return X+Y;
}

int M::Add()
{
 return X+Y;
}

#include<iostream.h>
void main()
{
 M a(10,20),b(4);
 cout<<"a="<<a.Xout()<<","<<a.Yout()<<endl;
 cout<<"b="<<b.Xout()<<","<<b.Yout()<<endl;
 int i=a.Add();
 int j=a.Add(3,9);
 int k=a.Add(5);
 cout<<i<<endl<<j<<endl<<k<<endl;
}
输出:

a=10,20;

b=4,16;

30

12

10

类内函数参数的缺省值设置与一般函数相同

阅读(4943) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册