求朋友帮解决:类只能有一个实例,如果有多个实例就报错,用什么方法?
求朋友帮解决:类只能有一个实例,如果有多个实例就报错,用什么方法?
我想用常量数据成员方式,是否可行?
class Cuboid
{
public:
Cuboid(double a,double b,double c);
Cuboid(Cuboid &x);
~Cuboid();
void set(double a,double b,double c);
double getVol();
static int getTotalNum();
static int i,j,k;
private:
const double m_a,m_b,m_c;
static int m_TotalNum;
};
Cuboid::Cuboid(double a,double b,double c)
{
m_a=a;
m_b=b;
m_c=c;
i++;
}
……
#include<iostream>
#include"Cuboid.h"
using namespace std;
/*extern int i=0,j=0,k=0;*/
int main()
{
Cuboid x(3,4,5);
Cuboid y(5,6,8);
运行时提示常量数据成员要初始化,
我这样改为Cuboid::Cuboid(double a,double b,double c):m_a(a),m_b(b),m_c(c){}
结构可以多个实例啊,y实例运行。
请朋友看看,如何解决,要求只能产生一个实例。谢谢