
在类中定义的成员函数全部默认为内联函数。可以显示加上 inline 标识符。或者不加
在类中声明的成员函数,如果没加inline。则在类外定义该成员函数时加了inline,该成员函数也为内联函数。
综上所述:不管是声明还是定义,只要看见有 inline ,都为内联
可以!
下面是通过运行的完成测试程序:
(注意:如果你用VC60,把头文件改成#include<iostream.h>,然后using namespace std;不用写)
#include<iostream>
using namespace std;
class A{
private:
int x,y;
public:
A(int i=0,int j=0)
{x=i;y=j;}
virtual void print();
};
void A::print()
{cout<<"基类的print()函数:xy="<<xy<<endl;}
class B:public A{
private:
int z;
public:
B(int a,int b,int c):A(a,b)
{z=c;}
void print();
};
void B::print()
{cout<<"派生类的print()函数:z="<<z<<endl<<"QQ:1922633498"<<endl;}
void main(void)
{
A a(1,2),p;
B b(1,2,3);
p=&b;
aprint();
p->print();
}
加分号;的成员函数是在类里边定义,实现在类外
不加的,实现和定义都在类里边完成
在类里边定义实现的(即不加的)就相当于内联函数inline,调用时程序不跳转,就是用这整块代码替代不是内联的就要调用函数保存现场内联的好处是可以加快程序的效率不过要消耗很多空间具体的要根据:
如果是赋值,if else这样的简单函数就内联,其他的有递归的,函数调用的一般不内联
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)