我是C++中面向对象编程的新手,还没有点击过,所以这可能听起来像一个太简单的问题。在我的作业中,我需要:在函数main()中创建一个类的单个实例。 我的教授是什么意思?当我试图寻找答案,他们太具体的问题,我只想要一个笼统的回答,请单实例
Q
单实例
-2
A
回答
6
听上去像是你需要的东西,如:
class A {};
int main() {
A a; // creates instance of class A
return 0;
}
0
类是主要部分之一的C++。而且,在创建和扩展类时使用OOP概念也是cpp非常强大的特性。
类包含属性和成员函数。这些都可以是公共的,私人的或受保护的。
类的私有成员只能从同一类的其他成员函数中访问。
受保护类似于私有,但它们也可以由子类访问。
顾名思义,公共成员可以通过类的对象(实例)访问。
如果该类型可以将类可视化为类型和对象作为变量。只是为了理解。
C++中的类创建如下。
class Circle {
int radius; // member variable/property
public: // type of function()
void set_values (int,int);
int area() {return 3.14*radius*radius;}
};
创建类的对象/实例意味着您正在创建类型为class的变量。
Circle c; // Stack based object
static Circle t1; // Static object
在此,关键字static
用于创建该类的单一实例/对象:如下
对象可以简单地被装箱。
0
下面是我的代码:
Singleton.h
#ifndef __C__Review__Singleton__
#define __C__Review__Singleton__
#include <iostream>
class Singleton{
private:
Singleton() { }
Singleton(const Singleton&);
Singleton& operator=(const Singleton&);
static Singleton *instance;
public:
static Singleton *getInstance();
static void release();
};
#endif /* defined(__C__Review__Singleton__) */
Singleton.cpp
#include "Singleton.h"
Singleton *Singleton::instance = 0;
Singleton* Singleton::getInstance()
{
if(instance == nullptr)
instance = new Singleton();
return instance;
}
void Singleton::release()
{
if (instance != NULL) {
delete instance;
instance = NULL;
}
}
+1
我不相信_Singleton_实际上是来自OP任务。也没有任何进一步的解释只是抛出代码,并不构成一个很好的答案。顺便说一下,你的单例实现不是很好,并且存在线程安全问题。 –
相关问题
- 1. VB.NET:WPF单实例
- 2. 单例实现
- 3. 低级单例实例
- 4. StructureMap重置单例实例
- 5. 获取单例实例
- 6. 实例化单例类
- 7. 单例实例返回null
- 8. 单模板实例
- 9. iphone单一实例
- 10. 单类实例C++
- 11. 拦截单实例
- 12. 单实例服务
- 13. 模拟实例报告的一个实例:使用单例?
- 14. 工作流实例是单例吗?控制活动实例?
- 15. 商业实体:私人实例VS单个实例
- 16. 如何重置单例实例?
- 17. SAPUI5 JSONModel扩展为单例实例
- 18. WCF服务单例得到实例
- 19. Spring创建单例的多个实例?
- 20. Dagger 2创建单例实例
- 21. 何时实例化单例服务?
- 22. C++/CLI中的单例实例?
- 23. 在java中释放单例的实例
- 24. WebApplication有2个单例类的实例
- 25. WCF percall和单实例
- 26. 表单的多个实例
- 27. Django管理 - stackedInline单实例
- 28. Scala清单和实例
- 29. 单实例存储层
- 30. 单个实例/基类
的您正在寻找的东西的名称是“单身”。 –
@MarkRansom,我不太确定。这听起来像老师只是想像普通的班级的对象。如果是这样的话,那里的“单身”一词可能会比有帮助的更混乱。 – chris
如果班级是'A',那么它只是'A a''?谢谢@RSahu :) –