ich dieses Programm in C++ bekam und es funktioniert perfekt in Ordnung, wenn ich letzten 2 Zeilen in Kommentar gesetzt: a = b;
MyAr c(b);
ich es mit einem Verfahren getestet, das ich es gelöscht. Das Problem ist mit dem *this
Zeiger ich denke, wenn ich kompiliere und laufe das Programm für einen Moment blinkt und dann verschwindet. Kannst du mir bitte helfen? Vielen Dank!Versuch Wert zuzuweisen * dieser Zeiger nicht
#include <iostream>
using namespace std;
class MyAr {
int *p;
int len;
public:
MyAr();
MyAr(int a);
MyAr(const MyAr& ob);
~MyAr();
MyAr& operator=(const MyAr& ox) { *this = ox; }
int& operator[](int i) { return p[i]; }
int length();
};
MyAr::MyAr() : p(0), len(0) {}
MyAr::MyAr(int a) : p(new int[a]), len(a) {}
MyAr::MyAr(const MyAr& ob) { *this = ob; }
MyAr::~MyAr() { delete p; }
int MyAr:: length(){
return len;
}
int main(){
MyAr a;
MyAr b(10);
for(int i=0; i< b.length(); ++i)
b[i] = i;
a = b;
MyAr c(b);
system("pause");
return(0);
}
"darf" nicht haben? : p – Quentin