内联函数:定义位于类声明中的函数都将自动成为内联函数,类声经常将短小的成员函数作为内联函数。内联函数使用inline关键字进行修饰
class Stock
{
private:
char company[20];//campany name
int stockNum;
double stockPrice;
double stockTotalPrice;
void set_total(void)
{
stockTotalPrice=stockNum*stockPrice;
}
public:
void acquer(const char *companyName,int n,double price);
void buy(int num,double price);
void sell(int num,double price);
void update(double price);
void show(void);
};
在上面这个类的声明中,set_total()函数就是一个内联函数,对于这样的函数,也可以在类的声明之外定义成员函数,并使它成为内联函数,如下代码所示。
class Stock
{
private:
char company[20];//campany name
int stockNum;
double stockPrice;
double stockTotalPrice;
void set_total(void);
public:
void acquer(const char *companyName,int n,double price);
void buy(int num,double price);
void sell(int num,double price);
void update(double price);
void show(void);
};
inline void Stock::set_total(void)
{
stockTotalPrice=stockNum*stockPrice;
}
C++的内联函数就相当于C语言中的宏定义,内联函数的特殊规则是要求在是每个使用他们的文件中都有对其进行定义,确保内联定义对多文件程序中的所有文件都可以使用,因此最简便的方法就是将内联函数定义在类的头文件中。