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

    [c++ e systemC] domanda su classi

    Ciao a tutti,

    sono nuovo e mi sono appena iscritto.
    Complimenti per l'ottimo forum e penso sia il posto adatto per risolvere qualche dubbio che mi assilla.

    La mia domanda riguarda il c++ e più in particolare sulla libreria SystemC .

    ho visto che programmando con questa libreria posso usare la macro SC_MODULE per istanziare un nuovo modulo in questo modo:

    1. SC_MODULE(nome_modulo){...};

    ho inoltre visto che equivale a scrivere:

    2. class nome_modulo : public SC_MODULE {...};

    La domanda che mi pongo è, questo "modo" di creare un nuovo modulo è praticamente la creazione di una classe derivata che eredita in modo public la classe SC_MODULE, è possibile farlo anche per altre classi normali in c++ o è un cosa che posso fare solo con questa libreria perchè evidentemente è insista in essa ?

    Ultima cosa, dentro SC_MODULE si deve usare anche SC_CTOR. valgono gli stessi discorsi di SC_MODULE per quanto riguarda la possibile scrittura (1.) ?

    Grazie a tutti e a chiuque potrà risolvere questo mio dubbio.
    Filippo

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    è una cosa che posso fare solo con questa libreria perchè evidentemente è insista in essa ?
    Questo. Tra l'altro (personalmente) trovo quella macro orripilante.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    umh scusa ma non ho capito.

    puoi farlo solo con suddetta libreria ?

    la stessa cosa vale anche per SC_CTOR(nome_modulo) ? che può essere scritta class nome_modulo : public SC_CTOR ?

    Grazie!

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Sono macro definite in quella libreria, quindi possono essere usate solo in quella libreria.
    Il C++ di per se non ha niente del genere.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5
    Grazie.
    Lo so che c++ di per se non ha queste cose.

    Il mio dubbio era appunto sulla sintassi.

    In c++ :

    class nomeclasse : public classebase

    non si può scrivere:

    classebase(nomeclasse)

    giusto?

    Era questo il dubbio.

  6. #6
    No, in C++ per dichiarare una classe che eredita da un'altra c'è solo la sintassi
    codice:
    class nomeclasse : modificatore-accesso classebase
    dove modificatore-accesso può essere public, protected o private e determina la visibilità dei membri ereditati; se è omesso viene inteso come private per le classi e public per le strutture.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    grazie a tutti.

  8. #8
    Amaro C++, il gusto pieno dell'undefined behavior.

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.