Instanzbildungen, Initialisierungen mittels Konstruktoren

Davicito

Erfahrenes Mitglied
Hallo ihr lieben,
ich hab mal ne Frage mit den instanzen. Ich weiß, dass ich mit

Java:
int main(){
...
Test moor(4,7); 
....
}

die Klasse Test initialisiere
Was ich aber nicht verstehe ist, was mit
Java:
...
Test moor = new Test(4,7);
...

falsch mache? Bzw. wo der Unterschied zu dem Beispiel oben ist.
ich bekomme als Fehlermeldung

Code:
App.cpp:2:26: Fehler: Umwandlung von »Test*« in nicht-skalaren Typen »Test« angefordert

Test.hpp
Java:
...
class Test

{

	private:

  	int _zahl1;
	int _zahl2;
	char _name[20];

	public:

	Test(int a, int b /*,char name[20]*/) ;

	void print(/*int _zahl1, int _zahl2*/);
	int getZahl1();

Test.cpp
Java:
....
Test::Test(int a, int b /*,char name[20]*/):_zahl1(a), _zahl2(b)//, _name(name) 
{

}

void Test::print()
{
	this->_zahl1++;
	cout << "1. Zahl: " << _zahl1 << " 2. Zahl: " << _zahl2 << endl ;	
}

int Test::getZahl1() { return this->_zahl1; }
 
Zuletzt bearbeitet:
Ich würde sagen es müsste heißen:

C++:
Test *moor = new Test(4,7);

Weil du holst dir mit new ja auch einen Zeiger.
 
Zurück