/* Human.h */
#include <string>
/*这里使用了static关键字:
* static用于类的数据成员时,该数据成员在所有对象之间共享
* static用于在函数内部声明局部变量时,该变量的值两次调用之间,值不变
* static用于成员函数时,该函数在所有成员之间共享
*/
/*构造函数,复制构造函数,赋值操作符,都声明为private成员,保证了对象创建的唯一性*/
class Human {
private:
Human();
/*复制构造函数*/
Human(const Human& Source);
const Human& operator=(const Human&);
public:
static Human& getHumanInterface(); //static函数,不用创建类,便可在外部访问
};
/*Human.cpp*/
#include <iostream>
#include <string>
#include <string.h>
#include "Human.h"
/*构造函数(创建对象时被调用)*/
Human::Human()
{
std::cout << "1 call Human()"