C++ Hilfe!
-
Warum lässt sich das Programm nicht übersetzen?
Was hast du in der letzten Unterrichtsstunde gelernt?
-
er kann meine Klasse A nicht in ein int konvertieren. Laut ausgabe.
Bin einfach auf dem Schlauch.
-
Operatorüberladung: Müsstest du in der letzten Unterrichtseinheit gelernt haben.
-
Dieser Beitrag wurde gelöscht!
-
@kelbssohn sagte in C++ Hilfe!:
er kann meine Klasse A nicht in ein int konvertieren. Laut ausgabe.
Das ist der zweite Fehler. Den könnte man mit einer Typkonvertierung lösen. Was passiert dann? Lässt sich das lösen?
-
Dieser Beitrag wurde gelöscht!
-
Ich hab's Danke schön an euch
#include <iostream> using namespace std; class A{ friend void test(); public: A(float f) : m_f(f) {} friend ostream& operator<<(ostream& os, const A& crArg){ return os<<crArg.m_f; } operator int() const{ return m_f; } private: float m_f; }; void test(int i){ cout << i << endl; } int main(){ A a(3.1415); cout << a << endl; test((int)a); return 0; }
-
Warum ist
test()
ein Freund vonA
?@kelbssohn sagte in C++ Hilfe!:
test((int)a);
Der C-Style Cast ist überflüssig.
-
int main(){ cout << "3.1415" << endl; cout << "3" << endl; return 0; }
-
@tggc Das löst die Aufgabe "Erweitern Sie die Klasse A derart...." nicht!
-
Also soll nur A verändert werden?
using A = float;
-scnr-