Cursul de Programare Orientata Pe Obiecte: Seria 13 Saptamana 3, 4 Martie 2014 Andrei Paun
Cursul de Programare Orientata Pe Obiecte: Seria 13 Saptamana 3, 4 Martie 2014 Andrei Paun
pe obiecte
Seria 13
Saptamana 3, 4 martie 2014
Andrei Paun
Cuprinsul cursului: 4 martie 2014
functii prieten
Constructoridestructori
cu "class#
au functii
default: pri&ate
e*tensibilitate
la fel ca struct
cu&antul: friend
e*ecutie rapida
o&erload de constructori
%include &iostream'
usin namespace std;
class myclass {
int a" b;
public:
myclass(int i" int () {a*i; b*(;$
void sho!() {cout && a && 0 0 && b;$
$;
int main()
{
myclass ob(:" 2);
ob)sho!();
return 0;
$
m.class ob / m.class(3, 4)3
nu au pointerul "t-is#
folosirea u$uala a
functiilor statice
%include &iostream'
usin namespace std;
class static8type {
static int i;
public:
static void init(int ;) {i * ;;$
void sho!() {cout && i;$
$;
int static8type::i; // define i
int main()
{
// init static data before ob(ect creation
static8type::init(+00);
static8type ;;
;)sho!(); // displays +00
return 0;
$
C-estiuni despre constructori si
desctructori
call%b.%&alue
constructori%destructori?
// Massin an ob(ect to a function)
%include &iostream'
usin namespace std;
class myclass {
int i;
public:
myclass(int n);
Lmyclass();
void set8i(int n) { i*n; $
int et8i() { return i; $
$;
myclass::myclass(int n)
{
i * n;
cout && 0Donstructin 0 && i && 05n0;
$
myclass::Lmyclass()
{
cout && 0@estroyin 0 && i && 05n0;
$
void f(myclass ob);
int main()
{
myclass o(+);
f(o);
cout && 0Fhis is i in main: 0;
cout && o)et8i() && 05n0;
return 0;
$
void f(myclass ob)
{
ob)set8i(/);
cout && 0Fhis is local i: 0 && ob)et8i();
cout && 05n0;
$
Constructing 1
5-is is local i: 2
2estro.ing 2
5-is is i in main: 1
2estro.ing 1
2iscutie
c-emam destructorul