Maximilian Krieg
Wissen, Technik & Erfahrungen
Wissen, Technik & Erfahrungen
Wissen, Technik & Erfahrungen

class Square : public Rectangle {
public:
Square() :
Rectangle() {
}
Square(int x1, int y1, int len) :
Rectangle(x1, y1, x1 + len, y1 + len) {
}
};
//Größe berechnen
sz*sizeof(double);
// Speicherzugriffsverletzung
MyV[sz]
explicit myVector( int s ): sz( s ), elem( new double[s] ) {
for( int i=0; i}
Schnittstellen-Klasse „myVec“
class myVector {
int sz;
double* elem;
public:
myVector() : sz(0), elem(0) {
}
explicit myVector(int s) : sz(s), elem(new double[s]) {
for (int i = 0; i < s; ++i) elem[i] = 0.0;
}
~myVector() {
delete[] elem;
elem = 0;
}
//…
double& operator[](int);
};
double& myVector::operator[](int index) {
if (0 > index || sz <= index) error("myVector::invalid_index\n");
return elem[index];
};
class myVec : public myVector {
public:
myVec() : myVector() {
}
myVec(int low, int high)
: myVector(high - low + 1) {
lb = low;
}
double& operator[](int i) {
return myVector::operator[](i - lb);
}
int lo() const {
return lb;
}
int hi() const {
return lb + size() - 1;
}
private:
int lb;
};