第二讲 头文件与类的声明
C vs C++ 关于数据和函数
c语言用函数处理数据,数据与函数是分开的,由于缺少某些关键字,所以c语言中一个数据要想被多个函数处理,就必须是全局的。C++面向对象提供class关键字将数据和函数包裹在一起。
C++ 代码的基本形式
头文件
标准库(头文件形式)
源文件-引用头文件有两种形式:自定义头文件用引号,标准库用尖括号。
C++中的output
在c++中输出可以引用iostream.h头文件,用std::cout来输出,比c语言中的printf更好用。
头文件的写法
头文件有一种正规的写法,以complex.h为例:
#ifndef _COMPLEX_
#define _COMPLEX_
⋯⋯
#endif
这种写法是大气、正规的写法。今后写的任何头文件都应该加上防卫式声明。
头文件的布局
#ifndef _COMPLEX_
#define _COMPLEX_
#include<cmath>
// 前置声明
class ostream;
class complex;
complex& _doapl(complex* this,const complex& r);
// 类声明
class complex{
……
};
// 类定义
complex::function……
#endif
inline函数
当成员函数定义在类本体里面,默认是inline。函数是inline,则运行速度快,但不是任何函数都可以inline,如果函数过于复杂,则无法成为内联函数。显式用inline关键字修饰可以建议编译器采取内联的方式处理该函数,但这只是建议,具体结果取决于编译器。
访问级别
数据成员应该是private的,函数成员可以是public的。