Ik ben sinds kort met C++ (dev-C++) in de weer, en probeer nu gebruik te gaan maken van classes in C++
Ik heb wel diverse classes geschreven in Java, maar in C++ werkt het net even anders.
Belangrijk is dat ik een array van classes aan maak, en dat elke class weer variabele array(s) in zich hebben, nu lukt dat nu wel.
Maar mijn grote probleem is als ik op een gegeven moment eens zeg; a[0] opnieuw wil initialiseren. met nieuwe variabelen. In Java zou ze zoiets zeggen als;
a[0]=new test();
Maar dit gaat niet op in C++, Ik zit nu al sinds gisteren hier op kijken, en tutorials proberen te checken via google, maar nog steeds geen resultaat. Als iemand een kleine hint kan geven graag!
Ik heb wel diverse classes geschreven in Java, maar in C++ werkt het net even anders.
Belangrijk is dat ik een array van classes aan maak, en dat elke class weer variabele array(s) in zich hebben, nu lukt dat nu wel.
Maar mijn grote probleem is als ik op een gegeven moment eens zeg; a[0] opnieuw wil initialiseren. met nieuwe variabelen. In Java zou ze zoiets zeggen als;
a[0]=new test();
Maar dit gaat niet op in C++, Ik zit nu al sinds gisteren hier op kijken, en tutorials proberen te checken via google, maar nog steeds geen resultaat. Als iemand een kleine hint kan geven graag!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| #include <iostream>
using namespace std;
class test
{
public:
int number;
int *myarray;
test (void) //constuctor
{
number=(rand()%100)+1;
myarray= new int [number];
for (int i=0;i<number;i++)
{
myarray[i]=number-10;
}
}
~test (void) //deconstructor
{
if (myarray!=NULL){ delete [] myarray; }
}
void printstuff(int putty)
{
cout << "--> " << putty << endl;
}
};
int main ()
{
srand(time(NULL)); //reset random seed
test a[100];
//now print some data
a[0].printstuff(a[0].number);
a[0].printstuff(a[0].myarray[0]);
//next I want to reset a[0] like I can do in Java
// mmm - won`t compile
//a[0]=new test();
// mmm - just delete a[0] - won`t compile
//delete a[0];
// mmm - or just delete a[] - will compile - gives an error
//delete [] a;
// mmm - or just delete a - will compile - but a[0] is still the same..
//delete a;
//a[0].printstuff(a[0].number);
//a[0].printstuff(a[0].myarray[0]);
return 0;
} |