c++学习笔记(2)类的声名与实现的分离及内联函数

时间:2023-11-16 21:59:14

一、类的声名与实现的分离

和c函数声明与实现分离类似

有.h : 类的声明

.cpp : 类的实现

在在一个类的cpp中应该包含本类的.h文件

在cpp中类的使用:例:

 //Circle类
//Circle.h
class Circle{
private:
double radious;
public:
Circle();
};
//Circle.pp
#include “Circle.h”
Circle::Circle(){
Radius=;
}

在主函数中使用此类只需要在头文件中包含.h的名字即可。

二、内联函数

直接定义在类里面是内联函数,在cpp里面用inline

内联函数要跟类的声明写在同一个文件中,否则编译会出错,就是内联函数最好写在声明类的.h文件中,而不是像一般函数那样写在实现类的.cpp文件中。 当然,内联函数还有另外一种写法,就是直接写在类中,此时,不必使用“inline”关键字。

内联函数只是一种编译机制,用上面两种形式声明的函数仅仅是建议编译器进行内联,而编译器是否内联不一定。正如前面所说,函数调用的开销只是对小的函数不可忽略,对于重量级的函数还是可以忽略的,而且在绝大多数的场合,函数调用才是人间正道,才是解决问题的最佳。所以大多数编译器并不把带有循环、递归等或者代码比较多的函数进行内联编译,有的甚至不允许声明成内联的。