[C++之旅] 9 内联函数、类内定义与类外定义

[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
}

注意的是使用分文件类外定义时需包含类所在的头文件。

你可能感兴趣的:([C++之旅] 9 内联函数、类内定义与类外定义)