7. Полиморфизм. Абстрактныеклассы.
«Объектно-ориентированное программирование»
доцентПриваловМ.В.
Пример
#include "stdafx.h" #include <iostream> #include <math.h>
using namespace std;
class MathEntity { char name[30];
protected: double result;
virtual void fill()=0; virtual void calc()=0;
public: MathEntity() {
} cout << "Created entity!" << endl;
Пример
~MathEntity() {
} cout << "Destroyed entity!" << endl;
double getRes() const { return result;
}
const char* getResName() { return name;
}
void setResName(const char* name) { strcpy(this->name, name);
}
};
Пример
class Vector : public MathEntity { int n;
double *data; protected:
void fill(); void calc();
public:
Vector(int n) : n(n) { data = new double[n]; fill();
calc();
setResName("Modulus");
} cout << "Created vector!" << endl;