singleton.h

#ifndef SINGLETON_H
#define SINGLETON_H

#include <QString>
#include <inttypes.h>

class Singleton {
  public:
    // tutaj umieszczamy zmienne które ma przechowywać nasza klasa
    uint16_t port;
    QString adres_ip;
    
    // publiczna statyczna funkcja
    static Singleton& use() {
      // funkcja tworzy instancję tej klasy ale tylko gdy jej nie było
      // w zasadzie można by trzymać wskaźnik, sprawdzać if'em czy nie NULL
      // i gdy null to tworzyć obiekt przez new i zwracać wskaźnik do niego,
      // ale po co skoro możemy skorzystać z mechanizmu lokalnych zmiennych statycznych,
      // które są tworzone przy pierwszym napotkaniu deklaracji, a potem deklaracja ta
      // jest ignorowana i tylko z nich korzystamy, ponadto ich destruktory są wywoływane
      // automatycznie przy kończeniu programu ...
      static Singleton singleton_use;
      return singleton_use;
    }
  private:
    Singleton(){};
    Singleton(const Singleton&){};
    // oba domyślne konstruktory muszą być prywatne ...
    // aby nie dało się inaczej utworzyć tego obiektu
};

#endif

XHTML generated by highlight (http://www.andre-simon.de/) from singleton.h



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/programing/c_cpp/Qt_graphics_net_menu_toolbar/singleton.h) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:41 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).