kleine Klassenfrage

Xebov

Mitglied
Hi

hab zwar schonmal gesucht aber leider keine brauchbare Antwort gefunden. Ich teste zzt etwas mit Klassen rum und habe mir dabei folgendes kleines Programm geschrieben.
Code:
#include <iostream.h>

class Test
{
	public:
		int a=2;
		void rechnen()
		{
			a=a+3;
		};
};

void main()
{
	Test b;
	b.rechnen();
	cout<<a<<endl;
};

Nun stehe ich vor 2 Fragen da das Programm ja 2 Fehler hat. Der erste ist
Code:
int a=2;
und damit die Frage kann man in Klassen keine Werte für Variablen definieren?
Und der 2. ist
Code:
cout<<a<<endl;
und damit die Frage kann ich Variablen die in Klassen stehen nicht ausgeben?

MFG
Xebov
 
Du benutz ja C++.

Daher:

1. Main hat den Rückgabewert 0 also ein int.
2. iostream sollte eigentlich nur ohne h geschrieben werden.
3. Für cout müsste der Namespace std benutzt werden.
4. Doch , du kannst Variablen von Klassen ausgeben (wenn sie public sind)
cout<<b.a<<endl;
5. Die Werte musst du den Variablen im Konstruktur zuweisen. (Der Konstruktur ist die Methode, die aufgerufen wird, wenn eine Klasse erzeugt wird).
6. Nach der } main ist das Semikolon zuviel.
7. Das Nach der } von Rechnen auch.

Code:
#include <iostream>
using namespace std;
class Test
{
	public:
		int a;
		void rechnen()
		{
			a=a+3;
		}
                Test(void)
                {
                a=2
                }

};

int main()
{
	Test b;
	b.rechnen();
	cout<<b.a<<endl;
        return 0;

}
 
Danke für die ausführliche Antwort. Eine kleine Frage hätte ich aber noch, was macht dieses
Code:
using namespace std;
genau?

MFG
Xebov
 
Zurück