一个C++类的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:25:18
请问一下,定义这样的一个类是什么意思?
class myClass
{
public:
static myClass & func()
{
static myClass newClass;
return newClass;
}
};
这个func函数要怎么用?

class myClass //定义一个类
{
public:
static myClass & func()
//定义类中的一个静态成员函数,该函数返回一个静态myClass对象的引用
{
static myClass newClass;//声明一个静态对象。
return newClass;
}
};
使用举例:
一旦声明了一个类myClass myobject;
具体对func()的使用,就是对静态成员函数的使用。

这个在设计模式上很像单例(Single Instance)
调用方式:
nyClass &obj = myClass::func();

使用这种模式有个特点:
无论在程序的任何地方调用func都可以得到同一个myClass的对象的引用(就像在使用全局对象一样)