ich komme mal wieder nicht weiter. Habe auch leider meine Bücher nicht zur Hand.
Code: Alles auswählen
// strings.cpp
#include <iostream>
#include <string>
using namespace std;
class String {
public:
String() {
cout << "Konstruktor wurde aufgerufen" << endl;
}
~String() {
cout << "Destruktor wurde aufgerufen" << endl;
}
void print() {
cout << d << endl;
}
private:
string d;
};
String& String::operator=(const String& s) {
this->d=s;
return *this;
}
int main() {
const char *strptr="Ich bin ein C-String";
String str;
str="Ich bin ein C++-String";
while(*strptr) {
cout << *strptr;
*strptr++;
}
cout << endl;
str.print();
return 0;
}
Code: Alles auswählen
$ g++ -Wall -o String strings.cpp
strings.cpp:21: error: definition of implicitly-declared \u2018String& String::operator=(const String&)\u2019
strings.cpp: In function \u2018int main()\u2019:
strings.cpp:29: error: no match for \u2018operator=\u2019 in \u2018str = "Ich bin ein C++-String"\u2019
strings.cpp:6: note: candidates are: String& String::operator=(const String&)