6个回答
展开全部
构造函数私有化可以帮你解决这个问题
给你个简单的例子
class WonderfulClass
{
public:
static WonderfulClass* makeAnObject()
{
if (objCount == 0)
{
objCount++;
// 创建一个WonderfulClass对象并返回其指针
return (new WonderfulClass);
}
else
{
return null;
}
}
~WonderfulClass() {objCount--;}
private:
WonderfulClass() { }
static int objCount;
};
int WonderfulClass::objCount = 0;
int main()
{
WonderfulClass *p = WonderfulClass::makeAnObject();
... // 使用*p
delete p;
return 0;
}
给你个简单的例子
class WonderfulClass
{
public:
static WonderfulClass* makeAnObject()
{
if (objCount == 0)
{
objCount++;
// 创建一个WonderfulClass对象并返回其指针
return (new WonderfulClass);
}
else
{
return null;
}
}
~WonderfulClass() {objCount--;}
private:
WonderfulClass() { }
static int objCount;
};
int WonderfulClass::objCount = 0;
int main()
{
WonderfulClass *p = WonderfulClass::makeAnObject();
... // 使用*p
delete p;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不知道你要实现什么目的,但是类是面向对象的,这就决定了可以用类创建许多实例。但是从机制上说,我们可以只在类中创建类方法和类成员(static类型的),给你一个例子:
public class myclass{
public static int i;
public static void main(String args[]){}//可以省略
static void method(){}
public myclass(){
i++;
System.out.print("you have initinlized "+i+"object")}
}
另外,希望你可以把你写这样代码的目的告诉我,我们可以更详细的讨论
public class myclass{
public static int i;
public static void main(String args[]){}//可以省略
static void method(){}
public myclass(){
i++;
System.out.print("you have initinlized "+i+"object")}
}
另外,希望你可以把你写这样代码的目的告诉我,我们可以更详细的讨论
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。中大软院实验手册的实验二。第2题。。。。不知道TA知道不。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同学,你中大软院的吧。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用 Singleton方法,如果不使用Singleton,也可以实现
需要再构造函数中做出判断,保证构造函数中部分代码只能被执行一次
需要再构造函数中做出判断,保证构造函数中部分代码只能被执行一次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询