C++网易云课堂开发工程师-头文件与类声明
区分Class的分类有两大经典,1包含指针的(complex),2不包含指针的(string)。
1.complex
类分为:数据成员部分(在内存中占有数据成员的大小,数据可能会有很多份)与函数部分(只有一份)。
2.string
类中:仅包含一个指针(这里理解为这一个指针指向,数据成员),创建出的每一个数据成员的大小实际上仅包含一个指针。
3.C++ programs代码基本形式
.h(header files) Classes Declaration(声明)
.cpp()
.h()标准库,引入标准库采用尖括号的形式。
4.防卫式声明(使得含入include的次序不受任何影响)
#ifndef _COMPLEX_
#define _COMPLEX_
#endif
5.头文件的布局
#ifndef _COMPLEX_
#define _COMPLEX_ 防卫式声明
----------------------------------------------------------------------
#include <cmath>
class ostream;
class complex;
complex& _doapl(complex* ths, const complex& r); 前置声明
----------------------------------------------------------------------
class complex{ 类声明
....
};
----------------------------------------------------------------------
complex::function... 类定义
6.class的声明(declaration)
template<typename T> 模板的引入
class complex{ class head
public:
complex(T r = 0, T i = 0): re (r), im (r) {}
complex& operator += (const complex&);
T real() const {return re;}
T imag() const {return im;}
private:
T re, im;
friend complex& _doapl (complex*, const complex&);
};
-------------------------------------------------------------------------
{
complex<double> c1(2.5,1.5);
complex<int> c2(2,6);
}