Frage zu typedef



  • Hallo,

    kurze Frage :

    Kann man typedef in einer Klasse nicht als private machen ?

    #pragma once
    
    #include "DVD.h"
    
    #include <vector>
    
    class CDVDArchiv
    {
    public:
    	typedef std::vector<CDVD> vDVD;
    private:
    	int DvdCount;  // DVD Zähler
    
    	vDVD DvdVector;
    public:
    	// Konstruktor
    	CDVDArchiv(void);
    
    	void AddDvd(CDVD & dvd)
    	{
    		DvdVector.push_back(dvd);
    		DvdCount++;
    	}
    
    	CDVD getDVD(int nr)
    	{
    		return(DvdVector[nr]);
    	}
    
    	int getDvdCount()
    	{
    		return(DvdCount);
    	}
    	size_t getVectorSize()
    	{
    		return(DvdVector.size());
    	}
    
    };
    

    So geht es.
    Aber so nicht :

    {
    private:
    	typedef std::vector<CDVD> vDVD; // <<<<<<<
    	int DvdCount;  // DVD Zähler
    
    	vDVD DvdVector;
    public:
    .
    .
    

    Hab ich da was in meinem schlauen Büchlein überlesen ?

    Matthias



  • Hallo

    "Geht nicht" ist keine ausreichende Fehlerbeschreibung!

    Da du das typedef ja für eine public-Methode verwendest, must du natürlich auch den typedef selber public machen. Wie sollte sonst diese Methode verwendet werden?

    bis bald
    akari



  • Hallo,

    ja da hast Du recht.

    Aber ich glaube ich weiß warum:

    vDVD DvdVector;

    ich glaube das hier meinst du oder ?
    Da wird ja sozusagen der typedef public zurückgegeben.

    Seh ich das richtig ?

    Matthias



  • Hallo

    ja

    bis bald
    akari



  • Ok, alles klar

    Danke
    Matthias


Anmelden zum Antworten