abonnement Unibet Coolblue Bitvavo
pi_90878770
quote:
1s.gif Op woensdag 5 januari 2011 11:44 schreef _Led_ het volgende:

[..]

Want in C# kun je niet

[ code verwijderd ]

schrijven bedoel je ? ;)
Dat bedoelde ik niet nee. Ik ken C# niet, het ziet er in ieder geval afschuwelijk uit :D

quote:
7s.gif Op woensdag 5 januari 2011 12:56 schreef thabit het volgende:
Dit is natuurlijk een stuk beter:

[ code verwijderd ]

Precies ^O^
  woensdag 5 januari 2011 @ 13:40:19 #252
31101 _Led_
Visje aaien niemand zeggen
pi_90878856
quote:
1s.gif Op woensdag 5 januari 2011 13:38 schreef Thomass het volgende:
Dat bedoelde ik niet nee. Ik ken C# niet, het ziet er in ieder geval afschuwelijk uit :D
Och, die regel kun je ook een heel stuk compacter schrijven hoor, net zoals dat stuk C++ trouwens.

Als je wilt kun je in elke taal lelijke code schrijven :)
zzz
  woensdag 5 januari 2011 @ 23:36:09 #253
189216 netolk
maar dan andersom
pi_90912804
quote:
1s.gif Op woensdag 5 januari 2011 13:40 schreef _Led_ het volgende:

[..]

Och, die regel kun je ook een heel stuk compacter schrijven hoor, net zoals dat stuk C++ trouwens.

Als je wilt kun je in elke taal lelijke code schrijven :)
Ja lelijke code willen we natuurlijk niet hebben hè
Beware of the Raping Zebra's
pi_90915496
On-topic, er ging voor mij een hele wereld open toen ik er achter kwam dat je objecten gewoon op de stack aan kan maken ipv. alleen maar op de heap. Hoe ver kun je daar mee gaan?
pi_90921062
quote:
1s.gif Op donderdag 6 januari 2011 00:25 schreef TeringHenkie het volgende:
On-topic, er ging voor mij een hele wereld open toen ik er achter kwam dat je objecten gewoon op de stack aan kan maken ipv. alleen maar op de heap. Hoe ver kun je daar mee gaan?
Totdat de stack vol zit, daarna krijg je een segfault. :P. Hangt dus van je stackruimte af en van de grootte van de objecten. Het lijkt me sowieso raadzaam om zuinig om te gaan met stackruimte in het algemeen.
pi_90926529
quote:
12s.gif Op donderdag 6 januari 2011 10:00 schreef thabit het volgende:

[..]

Totdat de stack vol zit, daarna krijg je een segfault. :P. Hangt dus van je stackruimte af en van de grootte van de objecten. Het lijkt me sowieso raadzaam om zuinig om te gaan met stackruimte in het algemeen.
Dus kleine objecten op de stack, grote op de heap zodat die niet gefragmenteerd raakt?
  vrijdag 7 januari 2011 @ 14:52:05 #257
189216 netolk
maar dan andersom
pi_90977698
Hey, zou deze code anders kunnen?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum Name{
    sub1,sub2
};

class Master{
    protected:
        Name _NAME;
};

class Sub1:public Master{
    _NAME = sub1;
};
class Sub2:public Master{
    _NAME = sub2;
};

Ik wil deze classes in een vector<Master> stoppen, maar dan wil ik wel weten wat voor class (sub1,sub2) het is.
Is daar een andere oplossing voor dan een enum?
Beware of the Raping Zebra's
pi_91022444
quote:
1s.gif Op vrijdag 7 januari 2011 14:52 schreef netolk het volgende:
Hey, zou deze code anders kunnen?

[ code verwijderd ]

Ik wil deze classes in een vector<Master> stoppen, maar dan wil ik wel weten wat voor class (sub1,sub2) het is.
Is daar een andere oplossing voor dan een enum?
Je zou bijvoorbeeld een memberconstante aan kunnen maken die je bij de een initialiseerd op een andere waarde dan bij de ander. Maar ik geloof dat er betere oplossingen zijn, al weet ik niet precies welke (in c# had je typeof(), maar ik geloof niet dat er zoiets is in c++)
Finally, someone let me out of my cage
  zaterdag 8 januari 2011 @ 21:43:01 #259
189216 netolk
maar dan andersom
pi_91042576
quote:
1s.gif Op zaterdag 8 januari 2011 14:17 schreef minibeer het volgende:

[..]

Je zou bijvoorbeeld een memberconstante aan kunnen maken die je bij de een initialiseerd op een andere waarde dan bij de ander. Maar ik geloof dat er betere oplossingen zijn, al weet ik niet precies welke (in c# had je typeof(), maar ik geloof niet dat er zoiets is in c++)
Die member constante komt dan toch ongeveer overeen met de oplossing die ik had bedacht?
Beware of the Raping Zebra's
pi_91048272
quote:
1s.gif Op zaterdag 8 januari 2011 21:43 schreef netolk het volgende:

[..]

Die member constante komt dan toch ongeveer overeen met de oplossing die ik had bedacht?
o, had ik niet gezien :P excuus
Finally, someone let me out of my cage
  zondag 9 januari 2011 @ 14:24:58 #261
189216 netolk
maar dan andersom
pi_91065059
quote:
1s.gif Op zaterdag 8 januari 2011 23:35 schreef minibeer het volgende:

[..]

o, had ik niet gezien :P excuus
ahh, vandaar maar er zou dus een betere oplossing moeten zijn...
Beware of the Raping Zebra's
pi_91078208
quote:
1s.gif Op vrijdag 7 januari 2011 14:52 schreef netolk het volgende:
Hey, zou deze code anders kunnen?

[ code verwijderd ]

Ik wil deze classes in een vector<Master> stoppen, maar dan wil ik wel weten wat voor class (sub1,sub2) het is.
Is daar een andere oplossing voor dan een enum?
Je kunt met een dynamic_cast checken of een een pointer naar een base class naar een gegeven afgeleide klasse verwijst. Zie http://en.wikibooks.org/wiki/C++_Programming/RTTI
  zondag 9 januari 2011 @ 21:39:33 #263
189216 netolk
maar dan andersom
pi_91088543
quote:
1s.gif Op zondag 9 januari 2011 19:19 schreef thabit het volgende:

[..]

Je kunt met een dynamic_cast checken of een een pointer naar een base class naar een gegeven afgeleide klasse verwijst. Zie http://en.wikibooks.org/wiki/C++_Programming/RTTI
Zo'n dynamic cast kost zeker wel weer veel resources of niet?
Beware of the Raping Zebra's
pi_91088969
quote:
1s.gif Op zondag 9 januari 2011 21:39 schreef netolk het volgende:

[..]

Zo'n dynamic cast kost zeker wel weer veel resources of niet?
Valt wel mee denk ik, volgens mij bepaalt hij de validiteit van de cast aan de hand van de vtable.
  zondag 9 januari 2011 @ 21:57:11 #265
189216 netolk
maar dan andersom
pi_91089864
quote:
1s.gif Op zondag 9 januari 2011 21:45 schreef thabit het volgende:

[..]

Valt wel mee denk ik, volgens mij bepaalt hij de validiteit van de cast aan de hand van de vtable.
Ow ok, het ziet er wel handiger uit dan zo'n member te maken waar je aan kunt zien wat het is

ga het gelijk proberen

bedankt
Beware of the Raping Zebra's
pi_91090656
Je kunt bijvoorbeeld ook een virtual method is_Sub1 aanmaken, die false returnt in de base class en true in Sub1. Lijkt me wat schoner dan met rtti kloten.
  zondag 9 januari 2011 @ 22:25:26 #267
189216 netolk
maar dan andersom
pi_91092028
Hmm, heb het verkeerd begrepen...

[ Bericht 92% gewijzigd door netolk op 10-01-2011 14:48:02 ]
Beware of the Raping Zebra's
  maandag 10 januari 2011 @ 14:47:53 #268
189216 netolk
maar dan andersom
pi_91115014
quote:
1s.gif Op zondag 9 januari 2011 22:07 schreef thabit het volgende:
Je kunt bijvoorbeeld ook een virtual method is_Sub1 aanmaken, die false returnt in de base class en true in Sub1. Lijkt me wat schoner dan met rtti kloten.
Maar hoe doe je zo iets dan?
Beware of the Raping Zebra's
pi_91115341
Zoiets:

1
2
3
4
5
6
7
8
class Base {
public:    
    virtual bool is_Sub1() const {return false;}
};

class Sub1: public Base {
    bool is_Sub1() const {return true;}
};
  maandag 10 januari 2011 @ 15:05:14 #270
189216 netolk
maar dan andersom
pi_91115774
ow ja Xd zo moest dat, maar dan moet ik dus zo'n 7 dingen maken...
maar is denk idd wel netter dan die rtti...

maar waarom is die const dan eigenlijk??

want je code zegt nu toch gewoon return false
Beware of the Raping Zebra's
pi_91116194
Die const kun je ook weglaten. Is alleen om de compiler te vertellen dat de methode niet aan de members van de klasse loopt te frunniken.

Ik denk persoonlijk echter, dat als je een klasse hebt met 7 subklassen waarvoor je type-identificatie nodig hebt, dat dan zeer waarschijnlijk je design voor verbetering vatbaar is.
  maandag 10 januari 2011 @ 15:18:11 #272
189216 netolk
maar dan andersom
pi_91116300
quote:
1s.gif Op maandag 10 januari 2011 15:16 schreef thabit het volgende:
Die const kun je ook weglaten. Is alleen om de compiler te vertellen dat de methode niet aan de members van de klasse loopt te frunniken.

Ik denk persoonlijk echter, dat als je een klasse hebt met 7 subklassen waarvoor je type-identificatie nodig hebt, dat dan zeer waarschijnlijk je design voor verbetering vatbaar is.
Ja, waarschijnlijk is het het best om met templates te werken enzo maar dat moet ik dan weer opzoeken hoe dat werkt en dit snap ik teminste redelijk...

ben bezig met een spel en dan heb ik een class grondstoffen waar de basis dingen voor elke grondstof instaan en dan een omhulsel voor een specifieke grondstof
Beware of the Raping Zebra's
pi_91127182
Je kan toch ook een pure virtual method maken in je base class die een waarde uit een enum typeofsubclass oid. returnet? Of denk ik nu te simpel?
  maandag 10 januari 2011 @ 21:18:39 #274
189216 netolk
maar dan andersom
pi_91134304
quote:
1s.gif Op maandag 10 januari 2011 19:11 schreef TeringHenkie het volgende:
Je kan toch ook een pure virtual method maken in je base class die een waarde uit een enum typeofsubclass oid. returnet? Of denk ik nu te simpel?
Ja dat had ik dus eerst maar toen vroeg ik of het beter kon en kwam er dus die rtti dingen voor

maar ik kwam er idd ook al achter dat het makkelijker in gebruik is als ik zo iets doe
Beware of the Raping Zebra's
  woensdag 12 januari 2011 @ 17:24:33 #275
189216 netolk
maar dan andersom
pi_91219753
Hey heb een probleempje met m'n headers:
Header A:
1
2
3
4
5
6
7
8
9
#ifndef _HEADERA_H
#define _HEADERA_H
    #include "HeaderB.h"
    namespace A{
        class A_Class{
            B::B_Class _DINGES;
        };
    };
#endif

header B:
1
2
3
4
5
6
7
8
9
#ifndef _HEADERB_H
#define _HEADERB_H
    #include "HeaderA.h"
    namespace B{
        class B_Class{
            A::A_Class *_BLA;
        };
    };
#endif

nu is het zo dat de compiler error's geeft wat logisch is, normaal loste ik dit op door eerst even een declaratie in zo'n header te zetten maar omdat het nu in een namespace is die nog niet is gedeclareerd werkt dit niet... hoe kan ik dit oplossen? want volgens mij kan je een namespace niet alleen declareren...
Beware of the Raping Zebra's
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')