Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[C++] Vraagje over klassen en variabelen

davykager
2 antwoorden
  • Hallo,

    Ik wil het volgende doen in mijn programma, alleen weet ik nog niet precies hoe.
    Ik wil één klasse opzetten die een object voorstelt. En dat object wil ik een aantal gelijke sub-objecten geven (bijvoorbeeld de vier wielen van een auto). Ik wil alleen graag het aantal sub-objecten kunnen instellen, waarna een functie automatisch het benodigde aantal variabelen/pointers definieert. Dat kan allemaal nog wel, alleen zullen ze dan niet buiten die functie te gebruiken zijn, terwijl ik ze graag globaal wil gebruiken. Om nutteloze variabelen/pointers te voorkomen wil ik ook niet een vast maximum voordefiniëren.

    Hoe kun je zoiets het beste aanpakken? Ik heb wel wat ideeën, maar hoor toch graag wat van iemand die iets meer ervaring heeft.

    Alvast bedankt!
  • [quote:a21280a15e="davykager"]Ik wil het volgende doen in mijn programma, alleen weet ik nog niet precies hoe.
    Ik wil één klasse opzetten die een object voorstelt. En dat object wil ik een aantal gelijke sub-objecten geven (bijvoorbeeld de vier wielen van een auto). Ik wil alleen graag het aantal sub-objecten kunnen instellen, waarna een functie automatisch het benodigde aantal variabelen/pointers definieert. Dat kan allemaal nog wel, alleen zullen ze dan niet buiten die functie te gebruiken zijn, terwijl ik ze graag globaal wil gebruiken. Om nutteloze variabelen/pointers te voorkomen wil ik ook niet een vast maximum voordefiniëren.[/quote:a21280a15e]Ik weet niet zeker of ik het probleem helemaal goed begrijp. Sommige stappen kan ik nog nader uitleggen.

    Laat ik even wat naamgeving defineren:[list:a21280a15e][*:a21280a15e]A: de klasse (van de objecten);
    [*:a21280a15e]a: een instantie (object) van klasse A;
    [*:a21280a15e]B: de klasse van subobjecten[/list:u:a21280a15e]
    Het is mogelijk een functie "setSubobjecten" te maken die het aantal subobjecten in de klasse instelt. Deze wordt dan aangeroepen met [code:1:a21280a15e]a.setSubobjecten( 10 );[/code:1:a21280a15e]Deze functie gaat dan om met de administratie van pointers en dergelijke.

    De objecten van klasse B die op deze manier gemaakt worden zijn in de hele klasse beschikbaar (als je de pointers een member van klasse A laat zijn). Dus je kunt een functie maken "getSubobject" die gegeven een getal [i:a21280a15e]n[/i:a21280a15e] een object van type B* teruggeeft (en NULL bij een ongeldige [i:a21280a15e]n[/i:a21280a15e]). Hierdoor kun je gegeven een instantie a de subobjecten ervan bereiken.

    Hieronder een voorbeeld hoe de definitie van klasse A eruit kan zien:[code:1:a21280a15e]
    class B;

    class A
    {
    public:
    A();
    ~A();

    void setSubobjecten( int n );
    B* getSubobject( int n );
    private:
    int m_nrSubobjecten;
    B** m_subobjectenLijst;
    };[/code:1:a21280a15e]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.