Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

c++ - szablony
Idź do strony Poprzedni  1, 2
 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
nathaniel
pijak



Dołączył: 25 Paź 2005
Posty: 229
Przeczytał: 0 tematów

Skąd: Bielsko-Biała

PostWysłany: Nie 23:54, 28 Sty 2007    Temat postu:

eee... domyślny konstruktor kopiujący + rzutowania + sztuczka z true[]
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Robson
zielony żul



Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów

Skąd: Z Lasu :]

PostWysłany: Pon 0:01, 29 Sty 2007    Temat postu:

Dlaczego kompiluje sie pierwsza linijka w mainie Yoterowego programu nie umiem odpowiedziedz... Za to reszta idzie juz w miare:

3 ostatnie linijki to deklaracje funkcji ;) bardzo mylące bo są w bloku main{}

reszta to jakies zabawy z notacjami. Wazne jest to ze boole konwertuje sie najpiwre na int(albo inny całkowitoliczbowy) a dopiero potem na inne typy.

A co do niejednoznaczności
a(float x) {...}
a(float i, float y = 0) {...}
to działa bo nigdzie nie używamy jawnie tego poierwszego konstruktora wiec sie o to nie czepia kompilator... moze z innymi opcjami kompilacji by sie czepił. Dopiero po rpobow wywołania a aa(1.0) sie wywala z niejednoznacznoscia...
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Stasiu
zielony żul



Dołączył: 16 Lis 2005
Posty: 920
Przeczytał: 0 tematów

Skąd: krk

PostWysłany: Wto 18:47, 30 Sty 2007    Temat postu:

mam taki glupi problem... mam dwa wektory tylko jeden zawiera obiekty klasy A a drugi wskazniki do obiektow klasy A i przeladowane operatory > i =. Da sie napisac szablon, ktory mi posortuje oba te wektory?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Spectro
Mistrz grilla



Dołączył: 09 Mar 2006
Posty: 2306
Przeczytał: 0 tematów

Skąd: Kurdwanów

PostWysłany: Wto 19:48, 30 Sty 2007    Temat postu:

@Stasiu:
Domyślam się, że sortowanie po adresach zmiennych Cię nie satysfakcjonuje ;] . Jedyne rozwiązanie, jakie mi przychodzi teraz do głowy, jest mało eleganckie: RTTI.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Pawel Str.
pijak



Dołączył: 06 Lut 2006
Posty: 429
Przeczytał: 0 tematów

Skąd: Ze starszego roku / Z Gorlic

PostWysłany: Wto 19:58, 30 Sty 2007    Temat postu:

Stasiu napisał:
mam taki glupi problem... mam dwa wektory tylko jeden zawiera obiekty klasy A a drugi wskazniki do obiektow klasy A i przeladowane operatory > i =. Da sie napisac szablon, ktory mi posortuje oba te wektory?


Tak, piszesz dwie specjalizacje. Wersja wskaźnikowa zostanie użyta dla wskaźników jako bardziej pasująca.
Kod:

#include <vector>
#include <iostream>

using namespace std;

template<template<typename> class C,typename A>
void sortuj(C<A>) {
    std::cout << "Sortuje bez wskaznikow\n";
}


template<template<typename> class C,typename A>
void sortuj(C<A*>) {
    std::cout << "Sortuje z wskaznikami\n";
}


int main() {
    vector<int> vz;
   
    vector<int*> vp;
   
    sortuj(vz);
    sortuj(vp);
    return 0;
}
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Stasiu
zielony żul



Dołączył: 16 Lis 2005
Posty: 920
Przeczytał: 0 tematów

Skąd: krk

PostWysłany: Wto 21:04, 30 Sty 2007    Temat postu:

@Pawel Str.: Hmmmm.... Hmmmmm...... Dziala :D dzieki. Jesli dobrze rozumiem to po prostu szablon z szablonu?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Pawel Str.
pijak



Dołączył: 06 Lut 2006
Posty: 429
Przeczytał: 0 tematów

Skąd: Ze starszego roku / Z Gorlic

PostWysłany: Wto 22:18, 30 Sty 2007    Temat postu:

Po prostu pierwszym parametrem szablonu jest szablon (template template parameter). To może być vector, ale może być też np. deque, a jeżeli zaimplementujesz sobie coś swojego to też będzie. Nie wiem, czy to rozumiesz przez szablon z szablonu...
Zrobiłem tak właśnie po to, żeby się nie ograniczać do vectorów.

A, oczywiście zapomniałem o referencji, przekazywanie jest niepotrzebnie przez wartość.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Stasiu
zielony żul



Dołączył: 16 Lis 2005
Posty: 920
Przeczytał: 0 tematów

Skąd: krk

PostWysłany: Śro 0:56, 31 Sty 2007    Temat postu:

Pawel Str. napisał:
A, oczywiście zapomniałem o referencji, przekazywanie jest niepotrzebnie przez wartość.

oczywiste :)

i dokladnie o to mi chodzilo z tymi szablonami :)
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 1 rok / 2 i 3 semestr - Programowanie Wszystkie czasy w strefie EET (Europa)
Idź do strony Poprzedni  1, 2
Strona 2 z 2

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin