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
Osoba
{
int
nrOs;
string
imie;
string
nazwisko;
string
zawod;
public
:
Osoba(
string
imie
=
""
,
string
nazwisko
=
""
,
string
zawod
=
""
):
imie(
imie
), nazwisko(
nazwisko
), zawod(
zawod
){}
void
setNrOs(
int
nr
){nrOs =
nr
;}
void
PrzedstawSie()
{cout << imie <<
" "
<< nazwisko <<
" - zawod: "
<< zawod << endl;}
};
class
Osada
{
static
int
liczMieszk;
Osoba
Mieszkancy[100];
public
:
void
dodajMieszk(
Osoba
);
void
liczbaMieszk();
};
int
Osada
::liczMieszk;
void
Osada
::dodajMieszk(
Osoba
Nowy
){
Mieszkancy[liczMieszk++] =
Nowy
;
}
void
Osada
::liczbaMieszk(){
cout <<
"W Osadzie mieszka "
<< liczMieszk <<
" osob:"
<< endl << endl;
for
(
int
i = 0; i < liczMieszk; i++){
cout << i + 1 <<
". "
;
Mieszkancy[i].PrzedstawSie();
}
cout << endl;
}
int
main(
array
<System::
String
^> ^
args
)
{
Osada
listaOsob;
listaOsob.dodajMieszk(
Osoba
(
"Jan"
,
"Kowalski"
,
"Informatyk"
));
listaOsob.dodajMieszk(
Osoba
(
"Andrzej"
,
"Nowak"
,
"Fizyk"
));
listaOsob.dodajMieszk(
Osoba
(
"Karol"
,
"Malinowski"
,
"Informatyk"
));
listaOsob.dodajMieszk(
Osoba
(
"Anna"
,
"Kowalska"
,
"Biolog"
));
listaOsob.dodajMieszk(
Osoba
(
"Lukasz"
,
"Podroznik"
,
"Geograf"
));
listaOsob.dodajMieszk(
Osoba
(
"Archimedes"
,
"Liczydlo"
,
"Matematyk"
));
listaOsob.liczbaMieszk();
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. Jan Kowalski - zawod: Informatyk
2. Andrzej Nowak - zawod: Fizyk
3. Karol Malinowski - zawod: Informatyk
4. Anna Kowalska - zawod: Biolog
5. Lukasz Podroznik - zawod: Geograf
6. Archimedes Liczydlo - zawod: Matematyk
Press any key to continue . . .