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

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

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

有.h : 类的声明

  .cpp : 类的实现

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

在cpp中类的使用:例:

 1 //Circle类
 2 //Circle.h
 3 class Circle{
 4 private:
 5   double radious;
 6 public:
 7   Circle();
 8 };
 9 //Circle.pp
10 #include “Circle.h”
11 Circle::Circle(){
12 Radius=1;
13 }

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

二、内联函数

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

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

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

posted @ 2015-07-21 11:25  果断的荔枝  阅读(570)  评论(0编辑  收藏  举报