在类中,不管是静态函数还是动态函数都有权访问private修饰的成员(包括成员变量和成员方法)。
通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
/*.h文件 */
class A
{
private:
A();//构造函数声明为私有的,防止被别人随便new
pbulic:
static void fun1();
};
/*.cpp文件 */
A::a()
{
//构造函数初始化
}
void A::fun1()
{
return new A();//此函数的作用就是通过静态函数创建对象
}
/*入口函数*/
//此处省略#include
int main(int argc, char const *argv[])
{
A* a=A::fun1();//此处不使用new A()的原因就是,构造函数已经被private修饰了
//静态函数可以通过类名加类作用域符(就是::了)访问
return 0;
}