eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszablony metod - deklaracja i definicja › Re: szablony metod - deklaracja i definicja
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
    From: "Megas" <k...@o...eu>
    Newsgroups: pl.comp.programming
    Subject: Re: szablony metod - deklaracja i definicja
    Date: Thu, 27 Aug 2009 15:09:15 +0200
    Organization: http://onet.pl
    Lines: 76
    Message-ID: <h760hs$d12$1@news.onet.pl>
    References: <h741o5$vof$1@news.onet.pl> <h7462k$4vj$1@inews.gazeta.pl>
    <h75on2$kj2$1@news.onet.pl> <h75uui$85l$1@news.onet.pl>
    <h7606u$5st$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: krm.ericpol.pl
    X-Trace: news.onet.pl 1251378556 13346 88.220.70.2 (27 Aug 2009 13:09:16 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 27 Aug 2009 13:09:16 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
    X-RFC2646: Format=Flowed; Response
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.comp.programming:183363
    [ ukryj nagłówki ]


    Użytkownik "Tomasz Bywalec" <t...@p...dont.spam.me.o2.pl> napisał w
    wiadomości news:h7606u$5st$1@atlantis.news.neostrada.pl...
    > Megas pisze:
    >

    A czy takie cos by Ci poszlo?? Zmiany zaznaczyłem za pomoca komentarza
    '<-------- moja zmiana'



    ==================
    Plik tmp2.hpp
    ==================

    #include <string>

    namespace tmp {

    // Zwyczajna klasa, z jednym szablonem metody.
    class Printer {
    public:
    Printer( const std::string& prefix ) : prefix_( prefix ) {}

    // Deklaracja szablonu metody (bez definicji).
    template <class T>
    void print_type( class T obj); // <-------- moja zmiana

    private:
    std::string prefix_;
    };

    }

    ===================
    Plik tmp2.cpp
    ===================

    #include "tmp2.hpp"
    #include <iostream>

    namespace tmp {

    // Definicja szablonu metody.
    template <class T>
    void Printer::print_type( class T obj) // <-------- moja zmiana
    {
    std::cout << prefix_ << ": " << obj << std::endl; // <-------- moja
    zmiana
    }

    // Konkretyzacje szablonu dla trzech typow.
    template void Printer::print_type<int>(int); // <-------- moja zmiana
    template void Printer::print_type<char>(char); // <-------- moja zmiana
    template void Printer::print_type<double>(double); // <-------- moja zmiana

    }

    =========================
    Plik tmp2-main.cpp (test)
    =========================

    #include "tmp2.hpp"

    using tmp::Printer;

    int main()
    {
    Printer p1( "aha" );
    p1.print_type(1); // dla int <-------- moja zmiana
    p1.print_type('a'); // dla char <-------- moja zmiana
    p1.print_type(1.43); // dla double <-------- moja zmiana
    }



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: