meerdere objecten van klasse lukt niet

Status
Niet open voor verdere reacties.

garfieke

Gebruiker
Lid geworden
25 apr 2007
Berichten
9
Hey,

Ik heb in C++ een klasse (Test) aangemaakt met hierin een array (array). Wanneer ik een object maak van de klasse, bijvoorbeeld: Test test1;
De array wordt mooi gevuld, maar als ik zo een 2e object aanmaak: Test test2;
daarna de array vul en bewerkingen wil uitvoeren met de array van het object test1 dan geeft ie de array van test2 weer. Met andere woorden de variabele array is niet specifiek voor elk object van de klasse. Hoe kan ik dit oplossen?
Dit is wat ik heb (mits 1 en ander weggelaten):

Test.cpp:
Code:
#include <iostream>
using namespace std;
#include "Test.h"

double array[3];

Test::Test(const double *elementen){
	for(int s=0;s<sizeof(elementen);s++){
		array[s]=elementen[s];
	}
}

Test::Test(){
	double array[3] = {};
}

int main() {
	Test *test1;
	test1 = new Test;
	Test();
	double z[3]={-1,2,-3};
	Test(z);

//Hier staat array van object test1 perfect in ...

	Test *test2;
	test2 = new Test;
	Test();
	double y[3]={0,5,2};
	Test(y);

//Hier is ie dus array van object test1 vergeten en staat er enkel nog array van object test2 in ...

	return 0;
}

Test.h:
Code:
#pragma once

class Test
{
public:
	Test(const double *elementen);
	Test();
}
 
Laatst bewerkt:
Als je wilt dat elke class een unieke array heeft moet je de array binnen de class defineren.

Test.h
Code:
#pragma once

class Test
{
private:
        double arr[3];
public:
	Test(const double *elementen);
	Test();
};

Test.cpp
Code:
Test::Test(const double *elementen){
	for(int s=0;s<sizeof(elementen);s++){
		arr[s]=elementen[s];
	}
}

Test::Test(){
	arr = {0,0,0};
}

int main() {
	Test *test1;
	test1 = new Test;
	Test();
	double z[3]={-1,2,-3};
	Test(z);

//Hier staat array van object test1 perfect in ...

	Test *test2;
	test2 = new Test;
	Test();
	double y[3]={0,5,2};
	Test(y);

//Hier is ie dus array van object test1 vergeten en staat er enkel nog array van object test2 in ...

	return 0;
}

ik weet niet of het zo werkt maar je kunt er iig mee vooruit
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan