社区
C++ 语言
帖子详情
C++中怎样定义一个类,这个类只能定义一个对象?
hpp1981
2009-12-12 08:57:19
谁知道
...全文
570
18
打赏
收藏
C++中怎样定义一个类,这个类只能定义一个对象?
谁知道
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guolihui112
2009-12-13
打赏
举报
回复
构造和析构函数私有化, 然后声明一个 friend 类. 只有这个 friend 类可以构造它. 一般这个 friend 类是一个 Singleton 的框架类.
gueangyik
2009-12-13
打赏
举报
回复
用class 定义一个类 这个类可以定义多个对象
lirg8405
2009-12-13
打赏
举报
回复
上面的都说了,我也认为是用static
t525181273
2009-12-13
打赏
举报
回复
用static类型,将其定义成常量对象。你申明再多的对象就都转向他一个,我想就可以啦
周成风
2009-12-13
打赏
举报
回复
singleton!!!
这应该是我用的最多的设计模式。。
xhkui123
2009-12-13
打赏
举报
回复
哦 我有学到了些东西!
fouryu
2009-12-13
打赏
举报
回复
9楼正解!但是9楼的private中的static变量应该换成"static A* a=NULL"吧?
另外有人提到“单件就不应该存在”,这个主要是因为这种模式很隐晦的产生了全局变量,会造成软件不好维护。在Google的视频中有一些关于这个的,英文好的可以下下来看看:)
ClassDan
2009-12-13
打赏
举报
回复
[Quote=引用 2 楼 ypb362148418 的回复:]
构造函数前加static修饰,也就是设计模式中的单件模式
[/Quote]
学习了~~
tanghuang900
2009-12-13
打赏
举报
回复
用class定义类,类可以定义多个对象。
L2740611032
2009-12-12
打赏
举报
回复
单例模式:
在类的构造函数设为private
并设一个static类型的 对象变量在类的内部
并且提供一个接口来实现对static 对象实例化
这样就只能声明一个对象了!
class A
{
private:
A();
static A a;
public:
static A getInstance()
{
if(a)
return a;
else
{
a=new A();
return a;
}
}
};
int main()
{
A b=A::getInstance();//这样就只能声明一个对象了;
}
WingForce
2009-12-12
打赏
举报
回复
也有人认为,单件就不应该存在
zhangrenhui
2009-12-12
打赏
举报
回复
.h文件中定义
class a
{
public:
static a * Instance();
static a * m_pInstance;
public:
a();
~a();
};
.cpp中实现
a* a::m_pInstance = NULL;
a* a::Instance()
{
if( !m_pInstance )
{
m_pInstance = new a();
}
return a;
}
a::a()
{
}
a::~a()
{
}
在其他文件中采用a::Instance()->加你所要的操作或数据成员
猫已经找不回了
2009-12-12
打赏
举报
回复
楼主可以看看设计模式。
这里可以用单件模式。
http://www.cppblog.com/dyj057/archive/2005/09/20/346.aspx
参考这里的Singleton
lovesi3344
2009-12-12
打赏
举报
回复
这个类可以定义不止一个对象
//定义一个类
class base
{
...//此处忽略细节
};
int main()
{
base a,b;//定义了不止一个类对象
}
go_Michael
2009-12-12
打赏
举报
回复
[Quote=引用 3 楼 mstlq 的回复:]
请google“单件模式”……
[/Quote]
顶
授人以鱼不如授人以渔
mstlq
2009-12-12
打赏
举报
回复
请google“单件模式”……
ypb362148418
2009-12-12
打赏
举报
回复
构造函数前加static修饰,也就是设计模式中的单件模式
senr0816
2009-12-12
打赏
举报
回复
使用类的静态成员变量进行判断
C++
语言基础视频教程
主要包括
类
的声明、
对象
定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会...
C++
为什么不能在
类
中
定义该
类
的
对象
文章目录一、
C++
可以在
类
中
定义该
类
的
对象
吗?二、为什么可以定义静态
对象
? 一、
C++
可以在
类
中
定义该
类
的
对象
吗? 不能,但是可以定义静态
对象
、该
对象
的指针或者引用。 原因:我们创建这个
对象
,但是这个
对象
中
又...
【
C++
】实现一个
只能
创建一个
对象
的
类
实现一个
只能
创建一个
对象
的
类
,一个
类
按理来说肯定能创建出无数个
对象
,如何让一个
类
只创建一个
对象
呢? 我们来一步步的看 class A { public: A() {} }; int main() { A a1,a2,a3.....; } 毫无疑问A这个
类
可以...
【
C++
】(二)
类
和
对象
的定义与使用
这篇博客主要讲述
C++
中
类
和
对象
的定义与使用。 先介绍一些概念,建立理论印象。 所谓
对象
,其实就是用来描述客观事物的一个实体,比如一辆汽车就是一个
对象
。描述一个
对象
时,一般会从它的属性和行为两方面来...
类
与
对象
C++
类
的构造函数是一种特殊的函数,在创建一个新的
对象
时调用。
类
的析构函数也是一种特殊的函数,在删除所创建的
对象
时调用。
C++
拷贝构造函数 拷贝构造函数,是一种特殊的构造函数,它在创建
对象
时,是使用...
C++ 语言
64,660
社区成员
250,515
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章