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

    [C++] abstract e funzioni "typedef"

    Con riferimento a: LINK


    Come si può fare una cosa del genere,
    dato che un template <typename tipo> non può essere virtual?

    codice:
    // figuraabstract.cpp/h
    class FiguraAbstract { public: virtual ??????? get() = 0; } 
    
    // cerchio.cpp/h
    typedef struct tipo_s{ kkk c1, jjj c2, ... }tipo;
    class Cerchio : FiguraAbstract { public: tipo get() { return tipo; }; }
    
    // triangolo.cpp/h
    typedef struct tipo_s{ xxx t1, yyy t2, ... }tipo;
    class Triangolo : FiguraAbstract { public: tipo get() { return tipo; }; }
    
    // figura.cpp/h
    #ifdef cerchio
       #include cerchio.h
       class Figura:public cerchio{};
    #elseif triangolo
       #include triangolo.h
       class Figura:public triangolo{};
    #else
      ...
    #endif
    I produttori sostengono che la causa del prezzo elevato di Cd e Dvd è la pirateria. Una volta debellata la pirateria i prezzi duplicheranno in quanto non si potrà più piratare.

    W WinVista & Palladium & TCPA & Chip Fritz & MIPS 0.18um Made in China!

  2. #2

    NESSUNO?

    Nessuno?
    I produttori sostengono che la causa del prezzo elevato di Cd e Dvd è la pirateria. Una volta debellata la pirateria i prezzi duplicheranno in quanto non si potrà più piratare.

    W WinVista & Palladium & TCPA & Chip Fritz & MIPS 0.18um Made in China!

  3. #3
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Mostra un codice più dettagliato.
    Comunque in linea di principio devi restituire un classe base in cui eventualmente fare un downcasting.

    Il problema comunque non riguarda il template in se: in C++ non si possono effettuare overload sul tipo di ritorno.

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.