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

    [C++] costruttori e distruttore su std::ofstream

    Salve,

    volevo sapere se nella seguente classe sto implementando bene costruttori e distruttore:

    codice:
    // waveCapture.h
    
    #include <windows.h>
    #include <fstream>
    (...)
    
    class waveCapture
    {
    public:
    	waveCapture();
    	waveCapture(DWORD, DWORD, DWORD);
    	~waveCapture();
    private:
    	DWORD dwA;
    	DWORD dwB;
    	DWORD dwC;
    
    	HANDLE hevent;
    	HWAVEIN hwi;
    
    	WAVEHDR *buff;
    
    	std::ofstream hFile;
    }
    
    // waveCapture.cpp
    
    waveCapture::waveCapture() : 
    dwA(0), dwB(0), dwC(0), buff(NULL), hwi(NULL), hevent(NULL) { }
    
    waveCapture::waveCapture(DWORD a, DWORD b, DWORD c) : 
    dwA(a), dwB(b), dwC(c), buff(NULL), hwi(NULL), hevent(NULL) { }
    
    waveCapture::~waveCapture()
    {
    	delete[] buff;
    	hwi    = NULL;
    	hevent = NULL;
    }
    purtroppo non riesco ad inizializzare std:fstream hFile in quanto non sembra accettare ne 0 ne NULL.

    inoltre volevo un consiglio su i parametri del costruttore, dato che non verranno mai modificati dalla funzione ma solo letti li posso passare come costante?

    codice:
    waveCapture(const DWORD, const DWORD, const DWORD);
    e quindi nel costruttore:

    codice:
    waveCapture::waveCapture(const DWORD a, const DWORD b, const DWORD c) : (....etc...)
    va bene?? avrò migliorie a livello di compilazione?? (VC++ EE)

    grazie
    Alla batteria dai retta ballA

  2. #2

    Re: [C++] costruttori e distruttore su std::ofstream

    • meglio avere a che fare con una costante che con una variabile no?
    • il distruttore dichiaralo SEMPRE virtual se vuoi evitarti mal di testa futuri che inevitabilmente ti verranno prima o poi se non lo dichiarerai virtual;
    • ricordati che, al contrario di altri linguaggi, in C++ all'interno dei costruttori e dei distruttori il meccanismo virtuale giustamente non funziona.

    ;-)

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

    Re: [C++] costruttori e distruttore su std::ofstream

    Originariamente inviato da gianvituzzi
    purtroppo non riesco ad inizializzare std:fstream hFile in quanto non sembra accettare ne 0 ne NULL.
    Non serve inizializzarlo. Il file poi lo aprirai con hfile.open ( /* quel che è */ ) etc.
    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.

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.