eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
Ilość wypowiedzi w tym wątku: 8

  • 1. Data: 2010-01-05 16:08:32
    Temat: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Krzysztof Poc <f...@w...pl>

    Witajcie

    W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
    konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
    dla
    wszystkich typow.

    Dzieki za pomoc



    #include <iostream>
    using namespace std;

    template <class T>
    class Container
    {
    public:
    static T st;
    };

    template <class T>
    int Container<int>::st = 81;

    template <class T>
    char Container<char>::st = 'a'; // chyba ostatnia inicjalizacja jest
    brana pod uwage

    int main ( void )
    {
    Container<int> i1;
    Container<int> i2;
    Container<char> c;

    cout << "i1.st: " << dec << i1.st << endl; // 'a' - ma byc 81
    cout << "i2.st: " << dec << i2.st << endl; // 'a' - ma byc 81
    cout << "c.st: " << dec << c.st << endl; // 'a' - ok

    return 0;
    }


  • 2. Data: 2010-01-06 07:25:39
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Maciej Pilichowski <P...@g...com>

    On Tue, 5 Jan 2010 08:08:32 -0800 (PST), Krzysztof Poc
    <f...@w...pl> wrote:

    >W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
    >konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
    >dla
    >wszystkich typow.

    Specjalizacja jesli sie nie myle.

    template <char>
    char Container<>::st = 'a';

    milego dnia, hej


  • 3. Data: 2010-01-20 08:38:23
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Krzysztof Poc <f...@w...pl>

    On Jan 6, 8:25 am, Maciej Pilichowski
    <P...@g...com> wrote:
    > On Tue, 5 Jan 2010 08:08:32 -0800 (PST), Krzysztof Poc
    >
    > <f...@w...pl> wrote:
    > >W jaki sposob moge zainicjalizowac zmienna statyczna w szablonie dla
    > >konkretnego typu. Ponizszy program inicjalizuje zmienna st jako 'a'
    > >dla
    > >wszystkich typow.
    >
    > Specjalizacja jesli sie nie myle.
    >
    > template <char>
    > char Container<>::st = 'a';

    dzieki za pomoc
    niestety to rowniez, nie dziala :(
    efekt taki sam jak pierwotnie


  • 4. Data: 2010-01-21 12:32:28
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Roman Werpachowski <r...@g...com>

    On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:

    > dzieki za pomoc
    > niestety to rowniez, nie dziala :(
    > efekt taki sam jak pierwotnie

    Wpisz

    template <>
    char Container<char>::st = 'a';

    do pliku .cpp (a nie .h).

    RW


  • 5. Data: 2010-01-22 16:12:07
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Krzysztof Poc <f...@w...pl>

    On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
    wrote:
    > On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
    >
    > > dzieki za pomoc
    > > niestety to rowniez, nie dziala :(
    > > efekt taki sam jak pierwotnie
    >
    > Wpisz
    >
    > template <>
    > char Container<char>::st = 'a';
    >
    > do pliku .cpp (a nie .h).
    >
    > RW

    wielki dziex
    teraz poszlo :)


  • 6. Data: 2010-01-22 20:53:07
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Roman Werpachowski <r...@g...com>

    On 22 Sty, 16:12, Krzysztof Poc <f...@w...pl> wrote:
    > On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
    > wrote:
    >
    > > On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
    >
    > > > dzieki za pomoc
    > > > niestety to rowniez, nie dziala :(
    > > > efekt taki sam jak pierwotnie
    >
    > > Wpisz
    >
    > > template <>
    > > char Container<char>::st = 'a';
    >
    > > do pliku .cpp (a nie .h).
    >
    > > RW
    >
    > wielki dziex
    > teraz poszlo :)

    A rozumiesz, dlaczego?

    RW


  • 7. Data: 2010-02-02 09:24:04
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Krzysztof Poc <f...@w...pl>

    On Jan 22, 9:53 pm, Roman Werpachowski <r...@g...com>
    wrote:
    > On 22 Sty, 16:12, Krzysztof Poc <f...@w...pl> wrote:
    >
    >
    >
    > > On Jan 21, 1:32 pm, Roman Werpachowski <r...@g...com>
    > > wrote:
    >
    > > > On 20 Jan, 08:38, Krzysztof Poc <f...@w...pl> wrote:
    >
    > > > > dzieki za pomoc
    > > > > niestety to rowniez, nie dziala :(
    > > > > efekt taki sam jak pierwotnie
    >
    > > > Wpisz
    >
    > > > template <>
    > > > char Container<char>::st = 'a';
    >
    > > > do pliku .cpp (a nie .h).
    >
    > > > RW
    >
    > > wielki dziex
    > > teraz poszlo :)
    >
    > A rozumiesz, dlaczego?
    >
    > RW

    Dla scislosci, bledny kod (bledna inicjalizacja):

    template <class T>
    char Container<char>::st = 'a';

    lub

    template <char>
    char Container<char>::st = 'a';

    Prawidlowy kod:

    template <>
    char Container<char>::st = 'a';

    To ze "template <class T>" powodowalo inicjalizowanie rowniez
    pozostalych zmiennych moglbym wytlumaczyc jako dopasowanie pozostalych
    typow do "class T".
    Jednak chyba nie dokonca jestem swiadom dlaczego tak samo zle dziala
    "template <char>".


  • 8. Data: 2010-02-03 15:55:01
    Temat: Re: inicjalizacja zmiennej statycznej w szablonie dla konkretnego typu
    Od: Roman Werpachowski <r...@g...com>

    On 2 Feb, 09:24, Krzysztof Poc <f...@w...pl> wrote:
    > Dla scislosci, bledny kod (bledna inicjalizacja):
    >
    > template <class T>
    > char Container<char>::st = 'a';
    >
    > lub
    >
    > template <char>
    > char Container<char>::st = 'a';
    >
    > Prawidlowy kod:
    >
    > template <>
    > char Container<char>::st = 'a';
    >
    > To ze "template <class T>" powodowalo inicjalizowanie rowniez
    > pozostalych zmiennych moglbym wytlumaczyc jako dopasowanie pozostalych
    > typow do "class T".
    > Jednak chyba nie dokonca jestem swiadom dlaczego tak samo zle dziala
    > "template <char>".

    "template <char>" ma tyle samo sensu, co "double funkcja(double 1.34)
    { return 0.45 }"

    RW

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: