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