Fheler kann net finden???
-
Hallo
bin totaler nub und verushc emich grad an den klassen
warum funzt das net??#include <iostream.h>
class Rechnung
{
private:
int a;
int b;
public:void Addition()
{
cin >> a;
cin >> b;
cout << a+b;
}void Subtraktion()
{
cin >> a;
cin >> b;
return (a-b);}
}void main()
{Rechnung rechnen;
rechnen.Addition();
return;
der fehler den ich krieg ist immer
nach void ist Rechnung unzulässig oder so...Helft ma nitte...
-
#include <iostream> using namespace std; class Rechnung{ private: int a; int b; public: void Addition() { cin >> a; cin >> b; cout << a+b; } void Subtraktion() { cin >> a; cin >> b; cout<<(a-b); } }; int main() { Rechnung rechnen; rechnen.Addition(); return 0; }
-
Noch eine kleine Anmerkung: Wenn du die Methoden schon innerhalb der Klasse definierst werden sie automatisch zu Inline-Methoden. Besser wäre es bei Methoden die länger als 1-2 Zeilen sind die Definierung außerhalb der Klasse zu schreiben:
class xxx { public: void methode (); }; void xxx::methode () { ... }
MfG SideWinder
-
Hallo
es funzt aber was bewirkt dieses
using namespace std;
danke @ else
-
Was "using namespace std;" kannst du hier nachlesen.
MfG SideWinder
-
Du bekommst den Fehler, weil du definierst, dass du nix zurückgibst, gibst aber trotzdem "a-b" zurück.
-
Wird der Code dann echt immer inline?
Ist das inline nicht nur eine Empfehlung an den Compiler, der dann
sowieso von selbst entscheidet, ob er die Funktion inline übersetzt?
-
Ne, bei inline Funktionen kopiert der Compiler den Code der Funktion an jede Stelle im Code, an der die Funktion aufgerufen wird, und springt nicht an die Stelle der Funktion.
-
Wird der Code dann echt immer inline?
Ist das inline nicht nur eine Empfehlung an den Compiler, der dann
sowieso von selbst entscheidet, ob er die Funktion inline übersetzt?Natürlich entscheidet das der Compiler, aber wenn ich die Definition in die Klasse setze ist das identisch mit dem deklarieren der Funktion als inline.
MfG SideWinder
-
ich glaub, hi hat gedacht die funktionen werden dann sicher inline