内联函数和外联函数 内联函数:定义在类体内 外联函数:定义在类体外 内联函数的特点: 调用时在调用函数处用内联函数体的代码进行替换,节省调用开销,提高运行速度。 外联函数变成内联函数的方法: 在函数头前面加上关键字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 类内函数参数的缺省值设置与一般函数相同

评论