Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++]Template

    Ciao a tutti...
    Mi sapreste dire come si fa a creare una classe template ereditata da un'altra classe template?
    è giusta la seguente sintassi?
    [template<typename T>
    class base{
    //................
    }
    template<typename T>
    class derivataublic base{
    //..................
    }

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C++]Template

    Originariamente inviato da Gianni000
    Ciao a tutti...
    Mi sapreste dire come si fa a creare una classe template ereditata da un'altra classe template?
    è giusta la seguente sintassi?
    [template<typename T>
    class base{
    //................
    }
    template<typename T>
    class derivataublic base<T> {
    //..................
    }
    Se non si specializza la classe base, il typename va sempre passato.

  3. #3
    Nulla da fare ancora errore...
    riporto la porzione di codice della classe derivata se sapete darmi una mano mi fareste un piacere...
    [//Classe matrice_dim2x2 derivata da matrice
    template<typename T>
    class matrice_dim2x2<T>ublic matrice<T>{
    public:
    matrice_dim2x2();
    int determinante(matrice<T> obj);
    };
    template<typename T>
    matrice_dim2x2<T>:matrice_dim2x2{
    colonne=2;
    righe=2;
    }
    template<typename T>
    int matrice_dim2x2<T>::determinante(matrice<T> obj){
    return(valori[0]*valori[3]-valori[1]*valori[2]);
    } ]

    Grazie!!

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Sarebbe utile che riportassi anche gli errori e la classe base.
    codice:
    [//Classe matrice_dim2x2 derivata da matrice
    template<typename T>
    class matrice_dim2x2 : public matrice<T>{
      public:
       matrice_dim2x2();
       int determinante(matrice<T> obj);                   
    };
    template<typename T>
    matrice_dim2x2<T>::matrice_dim2x2() {
        colonne=2;
        righe=2;
    }
    template<typename T>
    int matrice_dim2x2<T>::determinante(matrice<T> obj) {
      return(valori[0]*valori[3]-valori[1]*valori[2]);
    }
    Quelli in rosso immagino siano errori di battitura.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.