Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <iostream>
- #include <cstdlib>
- #include <time.h>
- #include <string>
- using namespace std;
- class Macierz{
- double **dane;
- int m, n;
- public:
- Macierz(int m, int n = 1, int wart = 0){
- this->m = m;
- this->n = n;
- dane = new double*[m];
- for (int i = 0; i < m; ++i) {
- dane[i] = new double[n];
- for (int j = 0; j < n; ++j) {
- dane[i][j] = wart;
- }
- }
- }
- Macierz & operator+(const Macierz &a){
- for (int i = 0; i < m; ++i)
- for (int j = 0; j < n; ++j)
- this->dane[i][j] += a.dane[i][j];
- return *this;
- }
- ostream& operator<<(ostream& out){
- for (int i = 0; i < m; ++i) {
- for (int j = 0; j < n; ++j) {
- cout<< dane[i][j] << " ";
- }
- cout<< endl;
- }
- cout<< endl;
- return out;
- }
- void fill(int min = 1, int max = 10){
- srand(time(NULL));
- for (int i = 0; i < m; ++i)
- for (int j = 0; j < n; ++j)
- this->dane[i][j] = (rand()%max) + min;
- }
- int getM() const {return m;}
- int getN() const {return n;}
- int getValue (const int i, const int j) const {
- if(i>=m || j>=n || i<0 || j<0) return -1;
- return dane[i][j];
- }
- ~Macierz(){
- for (int i = 0; i < m; ++i)
- delete[] dane[i];
- delete[] dane;
- }
- void wypisz(){ //dla testów
- for (int i = 0; i < m; ++i) {
- for (int j = 0; j < n; ++j) {
- cout<< dane[i][j] << " ";
- }
- cout<< endl;
- }
- }
- };
- class Miernik{
- public:
- virtual void pomiar() = 0;
- virtual ~Miernik() { cout<< " Destruktor";};
- };
- class Woltomierz: public Miernik{
- string jednostka = "V";
- public:
- void pomiar() {cout<< " Jestem Woltomierzem. Jednostka: " << jednostka << endl;};
- };
- class Amperiomierz: public Miernik{
- string jednostka = "A";
- public:
- void pomiar() {cout<< " Jestem Amperomierzem. Jednostka: " << jednostka<< endl;};
- };
- class Watomierz: public Miernik{
- public:
- string jednostka = "W";
- void pomiar() {cout<< " Jestem Watomierzem. Jednostka: " << jednostka<< endl;};
- };
- int main() {
- Macierz *m1 = new Macierz(3,3,9);
- Macierz *m2 = new Macierz(3);
- Macierz *m3 = new Macierz(3,3,9);
- m3->fill(1,10);
- int liczba = 0;
- (Macierz) liczba;
- m1->wypisz();
- m2->wypisz();
- m3->wypisz();
- *m2 = *m1+*m3;
- m2->wypisz();
- int l = 0;
- cout<< m2->getValue(l,2);
- m2->wypisz();
- ///////////////////////DEMONSTRACJA
- Miernik *miernik;
- Woltomierz volt;
- Amperiomierz amper;
- Watomierz wat;
- miernik = &volt;
- miernik->pomiar();
- miernik = &er;
- miernik->pomiar();
- miernik = &wat;
- miernik->pomiar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement