Programowanie Obiektowe zalicznie

Programowanie Obiektowe

Jakub Juszkiewicz

Mechatronika; rok III; sem V

Prowadzący: dr inż. Wojciech Pietrowski

//główna klasa

class TInstr

{

public:

char Name [20];

int LSB;

int LSS;

bool SetName(char*NewName); //Użycie setera

char* GetName(); //Użycie getera

bool SetLSB(int NewLSB);

int GetLSB();

bool SetLSS(int NewLSS);

int GetLSS();

//konstruktor

TInstr(); // definicja konstruktra

~TInstr(); // definicja destruktora

};

// koniec głównej klasy to dać do pliku .h

__________________________________________________________________________________

#include <iostream>

#include <string.h>

#include <fstream>

#include "guitar.h"

using namespace std;

// klasa pochodna Mandolina

// test zrobienia dodatkowej klasy

//______________________________________________________________//

class TMandolin // klasa pochodna

: public TInstr // typ dziedziczenia, klasa bazowa

{

int LSB; // pobranie z głównej klasy ilości strun basowych ?

int LSS; // pobranie z głównej klasy ilości strun sopranowych ?

//przykład odczytu z klasy głównej i pochodnej

public:

void TMadolin();

{

LSB = 1; // LSB z Pochodnej (TMandolin)

Baza::LSB = 2; //LSB z Bazowej (TInstr)

}

};

//______________________________________________________________//

// klasa pochodna Gitara

class TGuitar // klasa pochodna

: public TInstr // typ dziedziczenia, klasa bazowa

{

public:

TGuitar();

void graj();

{

for (int i = 0; i < 10; ++i)

std::cout << "Gram, gram\n";

}

};

// klasa pochodna po gitarze-> elektryczna

class TGuitarEl // klasa pochodna

: public TGuitar // typ dziedziczenia, klasa bazowa

{

public:

TGuitarEl();

void przester();

{

for (int i = 0; i < 5; ++i)

std::cout << "Brzdek, bzzrr\n";

}

};

// klasa pochodna po gitarze-> klasyczna

class TGuitarKl // klasa pochodna

: public TGuitar // typ dziedziczenia, klasa bazowa

{

public:

TGuitarKl();

void rezonuj();

{

std::cout << "pudlo dziala\n";

}

};

};

// koniec klas

TInstr::TInstr()

{

//Tu powinienem zainicjujować wartości zmiennych klasy

}

TInstr::~TInstr()

{

//wszystkie operacje jakie mają się wykonać przed zwolnieniem pamięci zajmowanej przez klasę.

}

bool TInstr::SetName(char*NewName) // kopiowanie łańcucha znaków do tablicy znaków

{

strcpy(Name,NewName); //(przeznaczenie, źrodło)

return true;

}

bool TInstr::SetLSB(int NoweLSB)

{

if (NoweLSB >=0 ) //NoweLSB większe lub równe 0

{LSB= NoweLSB;

return true;

}

else return false;

}

bool TInstr::SetLSS(int NoweLSS)

{

if (NoweLSS >=0 ) //NoweLSS większe lub równe 0

{LSS= NoweLSS;

return true;

}

else return false;

}

char* TInstr::GetName() // Pobierz nazwę

{

return Name;

}

int TInstr::GetLSB() // Pobierz liczbę LSB

{

return LSB;

}

int TGuitar::GetLSS() // Pobierz liczbę LSS

{

return LSS;

}

//______________Zapis do pliku__________________________//

void TGuitar::SaveToFile (char*FileName) //

{

std::fstream Plik;

Plik.open(FileName,ios::out); //Otwórz plik

Plik<<"obiekt klasy..."; //umieść w pliku

Plik.close(); //Zamknij plik

}

//______________Zapis do pliku__________________________//

int main()

{

TGuitar G1;

//G1.SaveToFile;

TGuitar G2;

TGuitar G3;

G1.SetName("Jagna");

G2.SetName("Danusia");

cout << G1.GetName();

cout << ""<<endl;

cout << G2.GetName();

cout << ""<<endl;

cout << "Moja gitara Jagna jest lepsza od Twojej Danusi, bo nie umiera :)";

//__________________Użycie private- nie używane______________________//

// strcpy(G3.Name, "Zbyszko"); ->dostęp jest niemożliwy, bo znajduje się w sekcji private

// cout << G3.Name; ->dostęp jest niemożliwy, bo znajduje się w sekcji private

//__________________Użycie private- nie używane______________________//

TGuitar G4;

G4.SetLSB (2);

cout <<'\n'<<"LSB: "<<'\n'<< G4.GetLSB()<<endl;

TGuitar G5;

G5.SetLSS (3);

cout <<"LSS: "<<'\n'<< G5.GetLSS()<<endl;

TGuitar * G6;

G6 = new TGuitar;

G6->SetName("blabla");a

cout<<G6->GetName();

//_________Zapis do pliku wartości G6__________//

G6->SaveToFile("G6.txt");

TGuitar G6;

G6.SetName("blabla");

cout << G6.GetName();

cout << ""<<endl;

G6.SaveToFile("G5.txt");

//_________Zapis do pliku wartości G6__________//

TStruna * S1;

return 0;

}


Wyszukiwarka

Podobne podstrony:
Programowanie obiektowe(ćw) 1
Zadanie projekt przychodnia lekarska, Programowanie obiektowe
Edukacja zdrowotna program na zaliczneie
Programowanie obiektowe w PHP4 i PHP5 11 2005
Programowanie Obiektowe ZadTest Nieznany
Egzamin Programowanie Obiektowe Głowacki, Programowanie Obiektowe
Jezyk C Efektywne programowanie obiektowe cpefpo
Programowanie Obiektowe Ćwiczenia 5
Programowanie obiektowe(cw) 2 i Nieznany
Edukacja zdrowotna program na zaliczneie 2
programowanie obiektowe 05, c c++, c#
Intuicyjne podstawy programowania obiektowego0
Programowanie obiektowe, CPP program, 1
wyklad5.cpp, JAVA jest językiem programowania obiektowego
projekt01, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
przeciazanie metod i operatorow, Programowanie obiektowe
projekt06, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt07, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek

więcej podobnych podstron