fork download
  1. // #include <iostream>
  2. // class Singleton {
  3. // private:
  4. // static Singleton* instance;
  5. // Singleton() {}
  6. // public:
  7. // static Singleton* GetInstance() {
  8. // if (instance == nullptr) {
  9. // instance = new Singleton();
  10. // }
  11. // return instance;
  12. // }
  13. // static void DestroyInstance() {
  14. // if (instance == nullptr) {
  15. // return;
  16. // }
  17. // delete instance;
  18. // }
  19. // };
  20.  
  21. // Singleton* Singleton::instance = nullptr;
  22.  
  23. // int main() {
  24. // Singleton* s1 = Singleton::GetInstance();
  25. // Singleton* s2 = Singleton::GetInstance();
  26.  
  27. // if (s1 == s2) {
  28. // std::cout << "s1 and s2 are the same instance\n";
  29. // }
  30. // Singleton::DestroyInstance();
  31. // }
  32.  
  33. #include<string>
  34.  
  35. class TradePair {
  36. const std::string currencyFirst;
  37. const std::string currencySecond;
  38. public:
  39. TradePair(const std::string& nameFirst,
  40. const std::string& nameSecond) : currencyFirst(nameFirst),
  41. currencySecond(nameSecond) {
  42. // Проверяем, что nameFirst - существует
  43. // Проверяем, что nameSecond - существует
  44. // Создаем подключение к серверу и т.п.
  45. }
  46. void Trade() {};
  47. std::pair<std::string, std::string> GetNames() const {
  48. return {currencyFirst, currencySecond};
  49. }
  50. };
  51.  
  52. class TradePairFactory {
  53. public:
  54. static TradePair Create(const std::string& nameFirst, const std::string& nameSecond) {
  55. return TradePair(nameFirst, nameSecond);
  56. }
  57. };
  58.  
  59. int main() {
  60. auto pair1 = TradePairFactory::Create("RUB", "USD");
  61. auto pair2 = TradePairFactory::Create("USD", "EUR");
  62. }
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
Standard output is empty