Paradygmaty Przyklad 2

background image

Przykład prezentuje podstawowy programowania obiektowo
zorientowanego w języku C++. Całośc można skompilować w
środowisku Visula C++ f-my Microsoft bez zmian (po utworzeniu
projektu konsolowego)

Kod programu:


#include

"stdafx.h"

using

namespace

std;

class

Data

{

short

dzien;

short

miesiac;

int

rok;

public

:

Data(

short

Dzien

= 1,

short

Miesiac

= 1,

int

Rok

= 1900):

dzien(

Dzien

), miesiac(

Miesiac

), rok(

Rok

){}

void

wypiszDate()

{

if

(rok > 1900) cout << rok <<

"-"

<< miesiac <<

"-"

<< dzien;

else

cout <<

"xxxx-xx-xx"

;}

};

class

Osoba

{

static

int

liczOsob;

int

osID;

string

imie;

string

nazwisko;

string

zawod;

Data

dataUrodz;

public

:

Osoba(){imie =

""

, nazwisko =

""

, zawod =

""

, dataUrodz =

Data

();}

Osoba(

string

Imie

,

string

Nazwisko

,

string

Zawod

,

Data

DataUrodz

=

Data

()): osID(++liczOsob), imie(

Imie

), nazwisko(

Nazwisko

),

zawod(

Zawod

), dataUrodz(

DataUrodz

){}

void

osobID(

int

nr

){osID =

nr

;}

void

przedstawSie()

{cout <<

" ("

<< osID <<

") "

<< imie <<

" "

<< nazwisko

<<

" - zawod: "

<< zawod << endl;}

void

urodzony()

{cout <<

" urodzony: "

; dataUrodz.wypiszDate();

cout << endl;}
};

int

Osoba

::liczOsob;

background image

class

Osada

{

static

int

liczOsad;

int

liczMieszk;

Osoba

*Mieszkancy;

public

:

Osada(){liczMieszk = 0;}

void

dodajMieszk(

Osoba

);

void

spisMieszk();

~Osada(){

delete

[] Mieszkancy;}

};

int

Osada

::liczOsad;

void

Osada

::dodajMieszk(

Osoba

Nowy

){

Osoba

*Temp =

new

Osoba

[liczMieszk + 1];

if

(liczMieszk > 0) {

for

(

int

i=0; i < liczMieszk; i++) Temp[i] = Mieszkancy[i];

delete

[] Mieszkancy;

}

Temp[liczMieszk++] =

Nowy

;

Mieszkancy = Temp;

}

void

Osada

::spisMieszk(){

cout <<

"W Osadzie mieszka "

<< liczMieszk <<

" osob:"

<< endl << endl;

for

(

int

i = 0; i < liczMieszk; i++){

cout << i + 1 <<

". "

;

Mieszkancy[i].przedstawSie();

Mieszkancy[i].urodzony();

}
cout << endl;
}

int

main(

array

<System::

String

^> ^

args

)

{

Osada

LesnyDwor;

LesnyDwor.dodajMieszk(

Osoba

(

"Jan"

,

"Kowalski"

,

"Informatyk"

,

Data

(20,5,1980)));

LesnyDwor.dodajMieszk(

Osoba

(

"Andrzej"

,

"Nowak"

,

"Fizyk"

,

Data

(30,12,1985)));

LesnyDwor.dodajMieszk(

Osoba

(

"Karol"

,

"Malinowski"

,

"Informatyk"

,

Data

(3,6,1977)));

LesnyDwor.dodajMieszk(

Osoba

(

"Anna"

,

"Kowalska"

,

"Biolog"

,

Data

(18,7,1989)));

LesnyDwor.dodajMieszk(

Osoba

(

"Lukasz"

,

"But"

,

"Szewc"

));

LesnyDwor.dodajMieszk(

Osoba

(

"Archimedes"

,

"Liczydlo"

,

background image

"Matematyk"

,

Data

(20,9,1966)));

LesnyDwor.spisMieszk();


system(

"pause"

);

return

0;

}

Plik nagłówkowy stdafx.h wymagany jako uzupełnienie
zaprezentowanego kodu powinien mieć postać zbliżoną do
następującej:

// stdafx.h : include file for standard system include files,

// or project specific include files that are used frequently, but

// are changed infrequently

//

#pragma

once

// TODO: reference additional headers your program requires here

#include

<iostream>

#include

<string>

Wynik działania programu:


W Osadzie mieszka 6 osob:

1. (1) Jan Kowalski - zawod: Informatyk
urodzony: 1980-5-20
2. (2) Andrzej Nowak - zawod: Fizyk
urodzony: 1985-12-30
3. (3) Karol Malinowski - zawod: Informatyk
urodzony: 1977-6-3
4. (4) Anna Kowalska - zawod: Biolog
urodzony: 1989-7-18
5. (5) Lukasz But - zawod: Szewc
urodzony: xxxx-xx-xx
6. (6) Archimedes Liczydlo - zawod: Matematyk
urodzony: 1966-9-20

Aby kontynuować, naciśnij dowolny klawisz . . .


Wyszukiwarka

Podobne podstrony:
Paradygmaty Przyklad 1
Paradygmaty-Przyklad-1
Paradygmaty Przyklad 2
Paradygmaty Przyklad 1
przyklad Zad2, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
przyklad kol1, studia Polibuda Informatyka, III semestr, języki paradygmaty programowania (jipp)
Anna Borawska Psychoterapie postmodernistyczne Terapia narracyjna i terapia nastawiona na współprac
Asembler ARM przyklady II
Sily przyklady
Przykłady roli biologicznej białek
style poznawcze jako przykład preferencji poznawczych
pytania przykladowe exam zaoczne(1)
przykładowa prezentacja przygotowana na zajęcia z dr inż R Siwiło oceniona
17 Metodologia dyscyplin praktycznych na przykładzie teorii wychowania fizycznego
WEM 1 78 Paradygmat
Organizacja stanowiska pracy przykładowa prezentacja słuchaczy
Inicjacja seksualna młodzieży gimnazjalnej na przykładzie szkoły wiejskiej

więcej podobnych podstron