[C++之旅] 9 内联函数、类内定义与类外定义
内联函数:编译时将函数体代码和实参代替函数调用语句。在函数前加inline
即为内联函数。
类内定义:将函数体定义在类里,一般简单的函数系统会自动编译为内联函数,复杂的函数则编译为普通函数。
class Student
{
public:
void setAge(int _age){age = _age}
private:
int age;
};
上述函数中setAge为类内定义的函数,同时编译为内联函数,其等同于inline void setAge(int _age){age = _age}
。
类外定义
类外定义是将成员函数定义在类的外面,类外定义分为两种:同文件类外定义和分文件类外定义。
- 同文件类外定义
成员函数与类在一个文件里
例如新建一个Student.cpp
class Student
{
public:
void setAge(int _age);
private:
int age;
};
void Student::setAge(int _age)
{
age = _age
}
- 分文件类外定义
类和成员函数不在同意文件下
如定义Student.h
class Student
{
public:
void setAge(int _age);
private:
int age;
};
定义Student.c
#include "Student.h"
void Student::setAge(int _age)
{
age = _age
}
注意的是使用分文件类外定义时需包含类所在的头文件。