美文网首页
[C++之旅] 9 内联函数、类内定义与类外定义

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

作者: Onicc | 来源:发表于2018-11-24 23:06 被阅读0次

[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 内联函数、类内定义与类外定义

    [C++之旅] 9 内联函数、类内定义与类外定义 内联函数:编译时将函数体代码和实参代替函数调用语句。在函数前加i...

  • C++类里面的哪些成员函数是内联函数?

    C++类里面的哪些成员函数是内联函数 1.隐式内联 2.在类里面显示声明,在类外面定义 3.“追加”内联。表示在类...

  • [初学C++]构造和析构函数

    什么是构造函数定义C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数.C++对类提...

  • 2.0 C++远征:类内定义与内联函数

    类内定义与内联函数 1.类内定义 ​ 直接在类的内部定义方法 ​ 类内定义的成员方法,编译器会将其优先编译...

  • C++基础构造函数(constructor)

    构造函数定义 C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数,构造函数在定义时...

  • C++ tips3

    1、c++ 特性 类外定义: 同文件类外定义 分文件内外定义

  • 内联函数

    内联函数 在类中定义的函数,但是实现却在类外面。并且在函数前加了 inline 就是内联函数,内联函数效率一般比较...

  • 1.2.02_C++ 类成员函数

    C++ 类 & 对象 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类成员函数...

  • C++类里静态成员链接错误

    BUG描述: 一个类内,含有静态成员变量并声明(declare),但是在类外没有定义。这时在类外定义的成员函数需要...

  • 类&对象(一)

    C++成员函数 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。类成员函数是类的...

网友评论

      本文标题:[C++之旅] 9 内联函数、类内定义与类外定义

      本文链接:https://www.haomeiwen.com/subject/oqduqqtx.html