- 前置声明
class complex;
类的前置声明只是告诉将类的名称编译器,并未提供class的任何其他信息,因此前置声明使我们得以使用类的指针和引用,而不能使用类的对象,如下
complex *p = 0; //定义一个类指针(class pointer)
void func(const complex& ); //以complex作为数据型别
但这样用就会出错
complex obj;
- 头文件声明
class complex
{
public:
complex (double r = 0, double i = 0)
: re(r), im(i)
{}
complex& operator += (const complex&);
double real () const { return re; }
double imag () const { return im; }
private:
double re, im;