Я новичок в объектно-ориентированном программировании на C++, и он еще не щелкнул меня, так что это может показаться слишком простым вопросом. В моей домашней работе мне нужно: создать один экземпляр класса в функции main(). Что значит мой профессор? Когда я попытался найти ответ, они были слишком специфичны к проблеме, и я просто хочу, общий ответ пожалуйстаSingle Instance
ответ
звука, как вам просто нужно что-то вроде:
class A {};
int main() {
A a; // creates instance of class A
return 0;
}
Классов одна из основной части C++. Более того, использование концепций ООП при создании и расширении классов также является очень мощной функцией 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;}
};
Создание объекта/экземпляра класса означает, что вы создаете переменную типа.
Объекты могут быть просто упаковали следующим образом:
Circle c; // Stack based object
static Circle t1; // Static object
Здесь ключевое слово static
используется для создания экземпляра одноплодной/объект этого класса.
Для получения дополнительной информации просто перейдите по этой ссылке. Может потребоваться базовое знание C++, можно получить от this, this или this ссылок.
Ниже мой код:
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;
}
}
Я не верю, что _Singleton_ на самом деле означал задачу OPs. Также просто бросая код без каких-либо дальнейших объяснений, не составляет очень хорошего ответа. BTW, ваша реализация singleton не очень хороша и имеет проблемы с безопасностью потоков. –
- 1. Phonegap single instance
- 2. Android-приложение Single Instance
- 3. MVC Single Instance Object
- 4. AWS Single Instance Tomcat SSL
- 5. Adobe Flex popup single instance
- 6. Mutli-instance vs Single-instance для веб-приложения
- 7. WCF NetTcpBinding + Single Instance + Single Concurrency = Блокирование/Удаление вызовов?
- 8. Sequelize Single Instance - Не работает после Module.exports
- 9. Flex Mobile: Single Instance для IconItemRenderer
- 10. Windows Forms - Single Instance - Include Statement
- 11. AWS Elasticbeanstalk Single Instance Force SSL
- 12. node.js express-session + redis single instance issue
- 13. MDI Single Instance C# .. как достичь этого?
- 14. Получить дополнительную информацию в режиме Single Instance
- 15. Solr SQL для Single Solr Instance
- 16. ViewPager utlizing single instance of view
- 17. Force Single Instance с приложением перезагрузки Mutex
- 18. Rails Cocoon Удалить/Уничтожить Single Instance
- 19. Django REST serialize single model instance
- 20. Elastic Beanstalk Single Instance SSL. Конфигурационный файл .ebextensions не работает
- 21. Linux Single Instance Убивает, если работает слишком долго
- 22. SSL-порт NodeJS на Amazon Elatisc BeanStalk Single Instance
- 23. AWS Beanstalk single instance forward 443 to 80
- 24. Javascript single single quotation
- 25. Single User Single Login
- 26. Java FileWriter: повторный файл Open/Close (множественный экземпляр) vs Single Open/Close (Single Instance) в среде клиент-сервер
- 27. Выбор управления WCF Instance
- 28. WCF Instance Management
- 29. Instance переменной
- 30. Singleton Instance
Название вещи вы ищете является «синглтон». –
@MarkRansom, я не уверен. Мне кажется, что учитель просто хочет, чтобы объект класса был нормальным. Если это так, слово «сингл», находящееся там, вероятно, более запутанно, чем полезно. – chris
Если класс 'A', то это просто' A a''? Спасибо @RSahu :) –