//============================================================== // Klasa jako kreator nowego typu - w języku C i C++;
// wprowadzenie do programowania obiektowego (OOP); //
// funkcje polami struktury -Object Oriented Programing (OOP); // enkapsulacja danych;
//
// ver data temat autor // 100 2005/10/12 Pierwszy projekt J. Malinowski // 101 2007/11/08 Cleanup JM // 102 2019/12/07 Dodanie opisow JM //============================================================== #include <conio.h> #include <math.h> #include <iostream> using namespace std; //============================================================== // Definicja klasy; class Liczby { private: int ia; int ib; public:
void NoweLiczby( int Nia, int Nib ); int Dodaj();
double Podziel(); };
//---// Implementacja metod klasy
void Liczby::NoweLiczby( int Nia, int Nib ) { ia = Nia; ib = Nib; } //---int Liczby::Dodaj() { return ia + ib; } //---double Liczby::Podziel() {
} //============================================================== int main() { Liczby l1;
// ponizsze pola sa prywatne,
// dostepne tylko dla czlonkow tej klassy // l1.ia = 2;
// l1.ib = 3;
l1.NoweLiczby( 3, 4 );
cout << l1.Dodaj() << endl; cout << l1.Podziel() << endl; getch(); return 0; } //=== END ====================================================== /* // Drugi wariant; //--// Implementacja metod klasy
---void Liczby::NoweLiczby( int Nia, int Nib ) {
ia = Nia;
if( fabs(Nib)>1e-20 ) ib = Nib;
else
throw "Data error"; // rzucamy wyjatek (except } //---int Liczby::Dodaj() { return ia + ib; } //---double Liczby::Podziel() {
return double( ia ) / double( ib ); } //============================================================== int main() { try { Liczby l1; l1.NoweLiczby( 3, 4 );
cout << l1.Podziel() << endl; getch(); l1.NoweLiczby( 3, 0 ); } catch(const char * s) { cout << s << endl; } getch(); return 0; } //=== END ====================================================== */