Professional Documents
Culture Documents
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Niniejsza prezentacja zostaa wykonana przy uyciu systemu skadu LATEX oraz stylu beamer, ktrego autorem
jest Till Tantau.
Strona domowa projektu Beamer:
http://latex-beamer.sourceforge.net
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Moje dane
Strona kursu:
http://sequoia.iiar.pwr.wroc.pl/ kreczmer/kpo
http://rab.iiar.pwr.wroc.pl/ kreczmer/kpo
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Spis treci
1
Organizacja kursu
Programowanie obiektowe
Podejcie obiektowe
Jzyki programowania
Przecianie operatorw
Operatory jako funkcje
czno operatorw i porzdek wykonywania operacji
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Warunki zalicze
Kurs koczy si zaliczeniem. Zaliczenie kursu mona uzyska pod
warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej
oceny z ekranwki
Sposb liczenia oceny z kursu:
0,6E + 0,4L
Ocena celujca ekranwka: 5,0; laboratorium: 5,5
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Warunki zalicze
Kurs koczy si zaliczeniem. Zaliczenie kursu mona uzyska pod
warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej
oceny z ekranwki
Sposb liczenia oceny z kursu:
0,6E + 0,4L
Ocena celujca ekranwka: 5,0; laboratorium: 5,5
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Warunki zalicze
Kurs koczy si zaliczeniem. Zaliczenie kursu mona uzyska pod
warunkiem uzyskania zaliczenia z laboratorium oraz pozytywnej
oceny z ekranwki
Sposb liczenia oceny z kursu:
0,6E + 0,4L
Ocena celujca ekranwka: 5,0; laboratorium: 5,5
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Literatura
Literatura podstawowa:
S. B. Leppman, Josee Lajoie, B. E. Moo; C++ Primer, 2012
J. Grbosz; Symfonia C ++ standard
J. Grbosz; Pasja C ++
Bjarne Stroustrup; Jzyk C++ Kompedium wiedzy, Wydanie IV,
Helion, 2014
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Literatura
Literatura pomocnicza:
B. Eckel; Thinking in C++
Nicolai M. Josuttis; C++ Biblioteka standardowa, Podrcznik programisty
David Vandevoorde, Nicolai M. Josuttis, C++ szablony
Grady Booch, James Rumbaugh, Ivar Jacobson; UML
uytkownika
przewodnik
Micha miaek; Zrozumie UML 2.0 Metody modelowania obiektowego, HELION 2005
James Martin, James J. Odell; Podstawy metod obiektowych
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Warto wiedzie
Oglna koncepcja podejcia obiektowego do programowania powstaa
na przeomie lat 50-tych i 60-tych w MIT.
W bardziej formalnej postaci koncepcje te zostay wprowadzone w
jzyku Simula 67 w latach 60-tych.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Jzyki obiektowe
Przykady jzykw obiektowych:
Smalltalk
Ruby
Programowanie obiektowe
Podejcie obiektowe
Jzyki programowania
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
C++
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Od koncepcji do paradygmatu
Podejcie obiektowe do programowania wyznacza
sposb patrzenia na struktury danych i przepyw
sterowania w programie oraz wykonywanie caego
programu.
Wprowadza ono pewien zbir poj i koncepcji,
ktry determinuje sposb rozumienia procesu
programowania.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Od koncepcji do paradygmatu
Podejcie obiektowe do programowania wyznacza
sposb patrzenia na struktury danych i przepyw
sterowania w programie oraz wykonywanie caego
programu.
Wprowadza ono pewien zbir poj i koncepcji,
ktry determinuje sposb rozumienia procesu
programowania.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie modularne
Programowanie imperatywne
Programowanie obiektowe
Programowanie uoglnione
Programowanie sterowane zdarzeniami
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie imperatywne
Programowanie obiektowe
Programowanie uoglnione
Programowanie sterowane zdarzeniami
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Programowanie uoglnione
Programowanie sterowane zdarzeniami
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie uoglnione
Programowanie sterowane zdarzeniami
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Jzyki programowania
Jzyki programowania mog wspiera jednoczenie wiele paradygmatw programowania.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Jzyki programowania
Jzyki programowania mog wspiera jednoczenie wiele paradygmatw programowania.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
C++
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Po co to wszystko?
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
11 grudnia 1998
wrzesie 1999
Cel misji
http://mars.jpl.nasa.gov/msp98/orbiter/moi.html
Sonda Mars Climate Orbiter za bardzo zbliya si do Marsa i wesza w grne warstwy jego
atmosfery, co skutkowao jej zniszczeniem.
Bezporedni przyczyn okazao si przyjcie zych jednostek. Oprogramowanie komputera
pokadowego generowao dane w jednostkach imperialnych zamiast w jednostkach SI. To, e
maj to by jednostki SI byo uzgodnione w kontrakcie midzy NASA i firm Lockheed
producentem sondy.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Zastanwmy si ...
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Podejcie obiektowe
Jzyki programowania
Konkluzja
Ani jzyk C ani te C++ nie jest ani generalnie gorszy ani te
generalnie lepszy. Ocena jzyka zaley od problemu, dla ktrego
chcemy stworzy model implementacji rozwizania (program
komputerowy). Dopiero w tym kontekcie mona uzasadnia
wybr jzyka programowania.
Dotyczy to rwnie wszystkich innych jzykw programowania.
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
<stdio.h>
Jzyk C++
#include
int main( )
{
printf(Hejka!!!\n);
return 0;
}
<iostream>
int main( )
{
std::cout << Hejka!!!\n;
}
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
<stdio.h>
Jzyk C++
#include
int main( )
{
printf(Hejka!!!\n);
return 0;
}
<iostream>
int main( )
{
std::cout << Hejka!!! << std::endl;
}
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
<stdio.h>
Jzyk C++
#include <iostream>
using namespace std;
int main( )
{
printf(Hejka!!!\n);
return 0;
}
int main( )
{
cout << Hejka!!!
}
<< endl;
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
<stdio.h>
<ctype.h>
<stdlib.h>
<string.h>
Programowanie obiektowe
<cmath>
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
<cmath>
<stdio.h>
<cstdio>
<ctype.h>
<cctype>
<stdlib.h>
<cstdlib>
<string.h>
<cstring>
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
....
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
.H
.C
Najczciej spotykane s:
Programowanie obiektowe
...
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
.H
.C
.hh
.cc
Najczciej spotykane s:
Programowanie obiektowe
..
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
.H
.C
.hh
.cc
.hpp
.cpp
Najczciej spotykane s:
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
.H
.C
.hh
.cc
.hpp
.cpp
.cxx
.hxx
Najczciej spotykane s:
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
.H
.C
.hh
.cc
.hpp
.hxx
.cpp
.cxx
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
Programowanie obiektowe
....
e
e
a
b
a
a
b
e
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a+b=?
...
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a+b=?
..
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a+b=?
.
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
???
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol Dodaj( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol operator + ( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol operator + ( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
Programowanie obiektowe
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol operator + ( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
}
int main( )
{
Symbol
}
y = a, x = b, wynik;
wynik = y + x;
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol operator + ( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
}
Czy s jakie ograniczenia na
int main( )
{
Symbol
}
y = a, x = b, wynik;
wynik = y + x;
Tabliczka dziaania
+
e
a
b
e
e
a
b
a
a
b
e
b
b
e
a
a+b= e
Programowanie obiektowe
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Arytmetyka symboli
enum
Symbol { e, a, b };
Symbol TabliczkaDzialania[3][3] = { { e, a, b }, { a, b, e }, { b, e, a } };
Symbol operator + ( Symbol y, Symbol x )
{
return TabliczkaDzialania[y][x];
Tabliczka dziaania
Nie
} moemy definiowa funkcji operatorowych. gdy ich wszystkie parametry s typw
+ e a b
wbudowanych takich jak float, int, itd. np.
e e a b
operator
int int
main(
) + (int arg1, float arg2)
a
a b e
{ {
Symbol
y
=
a,
x
=
b,
wynik;
b b e a
...
}
} wynik
= y + x;
a+b= e
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
e
e
a
b
a
a
b
e
b
b
e
a
a+b=e
}
Programowanie obiektowe
....
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
e
e
a
b
a
a
b
e
b
b
e
a
a+b=e
}
Programowanie obiektowe
...
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
e
e
a
b
a
a
b
e
b
b
e
a
a+b=e
}
Programowanie obiektowe
..
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
a
a
b
e
b
b
e
a
a+b=e
}
Programowanie obiektowe
e
e
a
b
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
a
a
b
e
b
b
e
a
a+b=e
}
Programowanie obiektowe
e
e
a
b
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
e
e
a
b
a
a
b
e
a+b+a=?
}
Programowanie obiektowe
....
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + x + y;
e
e
a
b
a
a
b
e
a+b+a=?
}
Programowanie obiektowe
...
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = (y + x) + y;
e
e
a
b
a
a
b
e
a+b+a=?
}
Programowanie obiektowe
..
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = (y + x) + y;
wynik = operator+ (operator+ (y ,x), y );
e
e
a
b
a
a
b
e
a+b+a=?
}
Programowanie obiektowe
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = (y + x) + y;
wynik = operator+ (operator+ (y ,x), y );
wynik = Dodaj(Dodaj(x, y), y);
}
Programowanie obiektowe
e
e
a
b
a
a
b
e
a+b+a=?
.
b
b
e
a
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + (x + y);
e
e
a
b
a
a
b
e
b
b
e
a
a + (b + a) = ?
}
Programowanie obiektowe
....
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + (x + y);
wynik = operator+ (y, operator+ (x ,y) );
e
e
a
b
a
a
b
e
b
b
e
a
a + (b + a) = ?
}
Programowanie obiektowe
...
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + (x + y);
wynik = operator+ (y, operator+ (x ,y) );
wynik = Dodaj(y , Dodaj(x, y) );
}
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a + (b + a) = ?
..
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + (x + y);
wynik = operator+ (y, operator+ (x ,y) );
wynik = Dodaj(y , Dodaj(x, y) );
}
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a + (b + a) = ?
.
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Symbol { e, a, b };
Tabliczka dziaania
+
e
a
b
y = a, x = b, wynik;
wynik = y + (x + y);
wynik = operator+ (y, operator+ (x ,y) );
wynik = Dodaj(y , Dodaj(x, y) );
}
Programowanie obiektowe
e
e
a
b
a
a
b
e
b
b
e
a
a + (b + a) = ?
.
Organizacja kursu
Programowanie obiektowe
Jzyk C i C++ najistotniejsze rnice
Przecianie operatorw
Koniec prezentacji
Dzikuj za uwag
Programowanie obiektowe