ovako ide problem: imam klasu koja ima konstruktor sa jednim intom u parametrima, no kad pokušam deklarirati objekt te klase u tjelu neke druge klase, misli da je to funkcija (ja mislim), i javlja greške da treba stavit tip ispred brojčane konstante ( ta konstanta je zapravo onaj int ). kako da pozovem konstruktor?
Deklariranje objekta sa konstruktorom unutar klase
- poruka: 10
- |
- čitano: 2.557
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Ja te nisam ništa razumio pa ako ti nije problem da postaš kod.
eh, problem je... ni ja se baš ne razumjem
napisao sam mali probni kod:
mislim da ja neznam pozvat konstruktor
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
class klasaA {
klasaA (int broj) {
//bla bla
}
}
class klasaB{
klasaA objektKlaseA(666 );
}
int main()
{
return 0;
}
class klasaB{
klasaA objektKlaseA(666 );
}
int main()
{
return 0;
}
Kod bi ti tebao izgledati ovako:
class klasaB
{
int main()
{
klasaA objektKlaseA=new klasaA(666);
}
}
FGFSD
Ključna riječ ovdije je operator new kojom vršiš instanciranje te klase, i instanciranje se može vršiti jedino unutar funkcije ili procedure.
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
class klasaA {
public: //ovo ti fali
klasaA (int broj) {
//bla bla
}
}
class klasaB{
klasaA objektKlaseA(666 );
}
int main()
{
return 0;
}
Postoji jos jedan problem a to je da si konstruktor definisao kao private a trebao bi biti public, jer kada nestavis nijednu od tih kljucnih rijeci one su automatski privatne i nemogu se kao takve pozvati. Probaj sad mozda jos nesto nevalja pa javi....
Ključna riječ ovdije je operator new kojom vršiš instanciranje te klase, i instanciranje se može vršiti jedino unutar funkcije ili procedure.
U c# moras koristit new u c++ nemoras, da buden precizniji u c++ moze i jedno i drugo ali to onda neznaci isto
Ovo pisen jer znan da uci c++, a ako se dobro sjecam ti preferiras c#
Sta se tice samog problema, slobo ti je dobro reka treba stavit public i sve ce radit
U c# moras koristit new u c++ nemoras, da buden precizniji u c++ moze i jedno i drugo ali to onda neznaci isto
Ovo pisen jer znan da uci c++, a ako se dobro sjecam ti preferiras c#
Sta se tice samog problema, slobo ti je dobro reka treba stavit public i sve ce radit
To nisam znao mislio sam da je ista stvar s c# i c++.
ne pomaže dodavabje publica. siguran sam da se može nekako drugačije rješit. javim kad otkrijem.
Nije mi jasno šta pokušavaš učiniti, možda ovo:
#include <iostream>
using namespace std;
class klasaA {
public:
klasaA (int broj) {}
};
class klasaB {
public:
klasaA objektA(int);
};
int main()
{
klasaB b1;
b1.objektA(666);
return 0;
}
ovako ide problem: imam klasu koja ima konstruktor sa jednim intom u parametrima, no kad pokušam deklarirati objekt te klase u tjelu neke druge klase, misli da je to funkcija (ja mislim), i javlja greške da treba stavit tip ispred brojčane konstante ( ta konstanta je zapravo onaj int ). kako da pozovem konstruktor?
Evo unutar Bug foruma ima o konstruktorima pa si malo pogledaj .Nije mi se dalo pisati sve ispočetka pa si pročitaj temu i prouči kod koji je napisan u cijeloj temi i tamo ti je i riješenje tvog pitanja.