Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
6Activity
0 of .
Results for:
No results containing your search query
P. 1
C++ - lekcje

C++ - lekcje

Ratings:

4.5

(2)
|Views: 2,988 |Likes:
Published by api-3723532

More info:

Published by: api-3723532 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

 
1
SPIS
LEKCJA 1. Co o C i C++ ka
dy wiedzie
powinien.LEKCJA 2. Jak korzysta
z kompilatora BORLAND C++?LEKCJA 3. Główne menu i inne elementy IDE.LEKCJA 4. Jeszcze o IDE C++ .LEKCJA 5 - DZIAŁANIA PRZY POMOCY MYSZKI I BŁ
DY W PROGRAMIELEKCJA 6 - NAST
PNY PROGRAM - KOMPUTEROWA ARYTMETYKALEKCJA 7. Z czego składa si
programLEKCJA 8. Jakich słów kluczowych u
ywa C++.LEKCJA 9: O SPOSOBACH ODWOŁYWANIA SI
DO DANYCHLEKCJA 10 Jakie operatory stosuje C++.LEKCJA 11. Jak deklarowa
zmienne. Co to jest wska
nikLEKCJA 12. Wska
niki i tablice w C i C++.LEKCJA 13. Jak tworzy
w programie p
tle i rozgał
zieniaLEKCJA 14. Jak tworzy
i stosowa
strukturyLEKCJA 15. Jak posługiwa
si
funkcjami.LEKCJA 16 - ASEMBLER TASM i BASM.LEKCJA 17: TROCH
SZCZEGÓLÓW TECHNICZNYCHLEKCJA 18 - O ŁA
 
CUCHACH TEKSTOWYCHLEKCJA 19: KILKA INNYCH PRZYDATNYCH FUNKCJILEKCJA 20 - JE
LI PROGRAM POWINIEN URUCHOMI
INNY PROGRAM...LEKCJA 21: KILKA PROCESÓW JEDNOCZE
NIE.LEKCJA 22. NA ZDROWY CHŁOPSKI ROZUM PROGRAMISTY.LEKCJA 23 - Co nowego w C++?LEKCJA 24 : SK
 
D WZI
ŁY SI
KLASY I OBIEKTY W C++.LEKCJA 25: PRZYKŁAD OBIEKTU.LEKCJA 26: CO TO JEST KONSTRUKTOR.LEKCJA 27: O DZIEDZICZENIU.LEKCJA 28: DZIEDZICZENIE ZŁO
ONE.LEKCJA 29: FUNKCJE I OVERLOADING.LEKCJA 30: WYMIANA DANYCH MI
DZY OBIEKTAMI.LEKCJA 31: PRZEKAZANIE OBIEKTÓW JAKO ARGUMENTÓW DO FUNKCJILEKCJA 33: WSKA
NIKI DO OBIEKTÓW.LEKCJA 34 OVERLOADING OPERATORÓW.LEKCJA 35: O ZASTOSOWANIU DZIEDZICZENIALEKCJA 36: FUNKCJE WIRTUALNE i KLASY ABSTRAKCYJNE.LEKCJA 37: KA
DY DYSK JEST ZA MAŁY, A KA
DY PROCESOR ZBYT WOLNY...LEKCJA 38: O C++, Windows i małym Chi
czyku. czyli: KTO POWIEDZIAŁ,
E PROGRAMOWANIE DLA WINDOWS JEST TRUDNE?!!!LEKCJA 39: KORZYSTAMY ZE STANDARDOWYCH ZASOBÓW Windows.LEKCJA 40: STRUKTURA PROGRAMU PROCEDURALNO - ZDARZENIOWEGO PRZEZNACZONEGO DLA WINDOWS.LEKCJA 41: JAK TWORZY SI
APLIKACJ
DLA Windows?LEKCJA 42: KOMPILATORY "SPECJALNIE DLA Windows".LEKCJA 43: Elementy steruj
 
ce i zarz
 
dzanie programem.LEKCJA 44: O Okienkach dialogowych.LEKCJA 45: Doł
 
czanie zasobów - menu i okienka dialogowe.LEKCJA 46: O PROGRAMACH OBIEKTOWO - ZDARZENIOWYCH.LEKCJA 47: APLIKACJA OBIEKTOWA - RYSOWANIE W OKNIE.LEKCJA 48: O PAKIETACH BORLAND C++ 4/4.5.
 
 
2
LEKCJA 1. Co o C i C++ ka
dy wiedzie
powinien.
W trakcie tej lekcji dowiesz si
, dlaczego pora na C++.____________________________________________________J
zyk C++ jest uniwersalnym, nowoczesnym j
zykiem programowania.Stosowane przez USA i inne kraje wobec Polski wieloletnieembargo COCOM'u (przeszkody w dost
pie do nowoczesnejtechnologii) sprawiły m. in.,
e popularno

OS2, UNIXa i C/C++ jest w Polsce do dzi
nieproporcjonalnie mała, a Basica, Pascalai DOSa nieproporcjonalnie du
a. W USA C++ ju
od kilku latstanowi podstawowe narz
dzie programistów.Ju
słysz
oburzenie (A co mnie obchodzi historia"komputerologii" i koligacyjki!). Otó
obchodzi, bo wynikaj
 
zniej pewne "grzechy pierworodne" j
zyka C/C++, a dla Ciebie,szanowny Czytelniku - pewne wnioski praktyczne.Grzech Pierwszy:* Kompilator j
zyka C/C++ jest standardowym wyposa
eniem systemuoperacyjnego UNIX.Skutki praktyczne:Ka
dy PC jest w momencie zakupu (co cz
sto wchodzi w cen
zakupukomputera) wyposa
any w system operacyjny DOS - np. DR DOS, PCDOS, PTS DOS lub MS DOS. Standardowo w zestaw systemu MS DOSwchodzi interpreter j
zyka BASIC (w MS-DOS - QBasic.EXE). Mo
eszwi
c by
pewien,
e je
li jest DOS, to musi by
i BASIC.Podobnie rzecz ma si
z C/C++. Je
li jest na komputerze systemUNIX (za wyj
 
tkiem najubo
szych wersji systemu XENIX), masz tamdo dyspozycji kompilator C/C++, za to BASICA ani Pascala prawiena pewno tam nie ma. Podobnie coraz popularniejszy OS/2wyposa
ony jest w kompilator (całkiem niezły) C++ i dodatkowo jeszcze w pewne gotowe-firmowe biblioteki.Grzech drugi:* J
zyk C/C++ powstał jeszcze zanim wymy
lono PC, DOS, GUI(Graficzny Interfejs U
ytkownika), Windows i inne tym podobne.Dwa najwa
niejsze skutki praktyczne:I. W zało
eniach twórców j
zyk C++ miał by
szybki (i jest) izajmowa
mało miejsca w pami
ci (bo ówczesne komputery miały jejbardzo mało!). Zawiera wi
c ró
ne, niezrozumiałe dla nas zdzisiejszego punktu widzenia skróty. Np. to co w Pascalu czyBasicu wygl
 
da zrozumiale:i:=i+1; (Pascal)10 I=I+1 lub inaczej NEXT I (Basic)to w j
zyku C++ wygl
 
da dziwacznie:i++; albo jeszcze dziwniej ++i;Tym niemniej zwró
uwag
,
e w Pascalu zajmuje to 7 znaków, wBasicu - 8 znaków (spacja to te
znak!), a w C++ tylko 4.Inny przykład:X=X+5 (Basic, 5 znaków),X:=X+5 (Pascal, 6 znaków),X+=5 (C++, tylko 4 znaki).Z takiej wła
nie filozofii wynika i sama nazwa - najkrótsza zmo
liwych. Je
li bowiem i++ miało znaczy
mniej wi
cej tyle samoco NEXT I (nast
pne I) to C++ znaczy mniej wi
cej tyle samo co"NAST
PNA WERSJA C".II. Nie ma nic za darmo. W j
zyku C/C++, podobnie jak wsamochodzie wy
cigowym formuły I, za szybko

i skuteczno

 płaci si
komfortem. Konstrukcje stosowane w j
zyku C/C++ s
 
 maksymalnie dostosowane do "wygody" komputera. Pozwala to nauzyskiwanie ˙niezwykle szybkich "maszynowo-zorientowanych" kodówwykonywalnych programu, ale od programisty wymagaprzyzwyczajenia si
do "komputerowo-zorientowanego sposobumy
lenia".Grzech Trzeci (i chyba najci

szy):* Jest najlepszy. Ostro
niej - jest najch
tniej stosowanymnarz
dziem profesjonalnych programistów.Ma oczywi
cie konkurentów. Visual Basic (do małych aplikacjiokienkowych), Turbo Pascal (do nauki podstaw - elementówprogramowania sekwencyjnego, proceduralno-strukturalnego),QuickBasic (programowanie strukturalne w
rodowisku DOS),Fortran 90, ADA, SmallTalk, itp, itd.Sam wielki Peter Norton przyznaje,
e pocz
 
tkowe wersje swojegosłynnego pakietu Norton Utilities pisał w Pascalu, ale dopieroprzesiadka na C/C++ pozwoliła mu doprowadzi
NU do dzisiejszejdoskonało
ci. Jakie s
 
programy Petera Nortona - ka
dy widzi...Zapewne masz na swoim komputerze kilka ró
nych aplikacji (np.TAG, QR-Tekst, Word, itp.) - je
li zajrzysz do nich do
rodka(View), mo
esz sam przekona
si
,
e wi
kszo

z nich zostałanapisana wła
nie w C++ (Kompilatory C++ pozostawiaj
 
w kodziewynikowym .EXE swoj
 
wizytówk
zwykle czyteln
 
przy pomocyprzegl
 
darki; przekonasz si
o tym tak
e zagl
 
daj
 
c przez [View]do własnych programów); stosowane narz
dzia mo
esz rozpozna
 tak
e po obecno
ci dynamicznych bibliotek - np. BWCC.DLL -biblioteka elementów steruj
 
cych - klawiszy, itp - BorlandCustom Controls for Windows).Skutki praktyczne:Nauczywszy si
j
zyka C/C++ mo
esz nie ba
si
ani systemuUNIX/XENIX a ich
rodowiska okienkowego - X Windows, ani OS2,ani Windows 95 (dotychczasowe testy starych 16-bitowychaplikacji wykazały b. wysoki stopie
kompatibilno
ci), anistacji roboczych, ani du
ych komputerów klasy mainframe. J
zykC/C++ dosłu
ył si
bowiem ogromnej ilo
ci tzw. implementacjiczyli swoich odmian, przeznaczonych dla ró
nych komputerów i dla
nych systemów operacyjnych. Windows NT i Windows 95 równie
 zostały napisane w C++.Czytaj
 
c pras
(np. Computer World, PC-Kurier i in.) zwró
 uwag
,
e najwi
cej ofert pracy jest wła
nie dla programistówposługuj
 
cych si
C++ (i tak zapewne b
dzie jeszcze przez kilkalat, póki nie wymy
l
 
czego
lepszego - np. jakiego
C+++).Z Grzechu Trzeciego (cho
nie tylko) wynika tak
e po
rednioGrzech Czwarty.J
zyka C++ Grzech Czwarty - ANSI C, C++, czy Turbo C++, VisualC++, czyli mała wie
a BABEL.Nie jestem pewien, czy "wie
a BABEL" jest okre
leniemtrafniejszym ni
"kamie
filozoficzny", b
 
d
"perpetuum mobile".To co w ci
 
gu ostatnich lat stało si
z j
zykiem C++ ma co
 wspólnego z ka
dym z tych utopijnych symboli. A w du
ymuproszczeniu było to tak.Podobnie, jak mechanikom od zarania dziejów marzyło si
 perpetuum mobile, tak informatykom zawsze marzyło si
stworzenie jednego SUPER-UNIWERSALNEGO j
zyka programowania. Takiego, którybyłby zupełnie niezale
ny od sprz
tu tzn., aby program napisanyw takim j
zyku mógł by
przeniesiony BEZ
ADNYCH ZMIAN nadowolny komputer I DZIAŁAŁ. Do takiej roli pretendowały kolejnoFORTRAN, Algol a potem przyszła pora na C/C++. Gdyby informatycynie okazali si
zbyt zachłanni, mo
e co
by z tego wyszło. Ale, jak to w
yciu, programi
ci (podobnie jak
ona rybaka z bajki "Orybaku i złotej rybce") chcieli wszystkiego naraz:*
eby program dał si
przenie

na komputer innego typu idziałał,*
eby działał szybko i optymalnie wykorzystywał sprz
t,*
eby umiał wszystko, co w informatyce tylko wymy
lono (tj. igrafika, i obiekty, i obsługa peryferii i...).I stało si
. W pomy
lanym jako uniwersalny j
zyku zacz
łypowstawa
odmiany, dialekty, mutacje, wersje itp. itd.Je
li C++ nie jest Twoim pierwszym j
zykiem, z pewno
ci
 
 zauwa
yłe
Czytelniku,
e pomi
dzy GW Basic a Quick Basic s
 
 pewne drobne ró
nice. Podobnie Turbo Pascal 7.0 troch
ni si
 od Turbo Pascala 5.0. Mimo to przykład poni
ej pewnie Ci
troch
 zaskoczy. Dla zilustrowania skali problemu przedstawiam poni
ejdwie wersje TEGO SAMEGO PROGRAMU napisanego w dwu
nychwersjach TEGO SAMEGO J
ZYKA C++. . Obydwa programy robi
 
 dokładnie to samo. Maj
 
za zadanie wypisa
na ekranie napis"Hello World" (czyli "Cze

 
wiecie!").
 
3
Program (1)main(){printf("Hello World\n");}Program (2)#include <windows.h>#include <iostream.h>LPSTR p = "Hello World\n";main(void){cout << "Hello World" << endl;MessageBox(0, p, "Aplikacja dla Windows", MB_OK);return (0);}
za uderzaj
 
ce podobie
stwo, prawda? Ale
arty na bok. Je
lizaistnieje jaki
problem, zawsze mamy co najmniej trzy wyj
cia.Mo
emy:1. Udawa
,
e go nie ma.Tak post
puje wielu autorów podr
czników na temat C/C++.2. Krzycze
,
e nam si
to nie podoba.Mamy pełne prawo obrazi
si
i wróci
do Basica lub Pascala.3. Spróbowa
porusza
si
w tym g
 
szczu.Wyj
cie trzecie ma jedn
 
wad
- jest najtrudniejsze, ale iefekty takiego wyboru s
 
najbardziej obiecuj
 
ce.Je
li chcesz zaryzykowa
i wybra
wyj
cie trzecie, spróbujmyzrobi
pierwszy krok w tej "d
ungli". Wyja
nijmy kilka nazw,poj

i zasad gry obowi
 
zuj
 
cych w tym obszarze.J
zyki programowania posługuj
 
si
pewnymi specyficznymi grupamisłów i symboli. S
 
to m. in.:* słowa kluczowe(tu pomi
dzy wersjami C++ rozbie
no
ci s
 
niewielkie),* operatory (po prostu znaki operacji - np. +),(tu zgodno

jest niemal 100 %-owa)* dyrektywy(polecenia dla kompilatora JAK tworzy
program wynikowy;tu ju
jest gorzej, szczególnie dyrektywa #pragma w ka
dejwersji kompilatora C++ jest inna)* nazwy funkcji(z tym gorzej, bo ka
dy producent ma własne funkcje i własneupodobania)* nazwy stałych(gdyby chodziło tylko o PI i e - wszystko byłoby proste)* nazy zasobów (FILE, PRN, CONSOLE, SCREEN itp. itd)(tu jest lepiej, ale te
rozbie
no
ci s
 
zauwa
alne)Autor programu mo
e jeszcze nadawa
zmiennym (liczbom, zmiennymnapisom, obiektom, itp.) własne nazwy, wi
c czasem nawetwytrawny programista ma kłopoty ze zrozumieniem tekstu
ródłowego programu...W j
zyku C a nast
pnie C++ przyj
to pewne maniery nadawania nazw- identyfikatorów ułatwiaj
 
ce rozpoznawanie tych grup słów:* nazwa() - funkcja* słowa kluczowe i nazwy zmiennych - małymi literami* STAŁE - nazwy stałych najcz

ciej du
ymi literami* long/LONG - typy danych podstawowe/predefiniowane dla Windows_NAZWA - nazwy stałych predefiniowanych przez producenta__nazwa lub __nazwa__ - identyfikatory charakterystyczne dladanej wersji kompilatoraitp., których to zwyczajów i ja postaram si
przestrzega
wtek
cie ksi

ki.Ameryka
ski Instytut Standardów ANSI od lat prowadzi walk
zwiatrakami. Stoi na stra
y jednolitego standardu j
zyka, którynazywa si
standardem ANSI C i ANSI C++. Wielcy producenci odczasu do czasu organizuj
 
konferencje i spotkania gdzie
wciepłych krajach i uzgadniaj
 
niektóre standardy - czyli wspólnedla nich i zalecane dla innych normy, ale niektórzy bywaj
 
 zazdro
ni o własne tajemnice i nie publikuj
 
wszystkichinformacji o swoich produktach. Dlatego wszelkie "słuszne iuniwersalne" standardy typu ODBC, Latin 2, Mazovia, LIM, OLE,DDE, BGI, itp., itd. maj
 
niestety do dzi
ograniczony zakresstosowalno
ci a wszelkie zapewnienia producentów o całkowitejzgodno
ci ich produktu z... (tu wpisa
odpowiednie) nale
yniestety nadal traktowa
z pewn
 
rezerw
 
.W niniejszej ksi

ce zajmiemy si
kompilatorem Borland C++ w jego wersjach 3.0 do 4.5, jest to bowiem najpopularniejszy wPolsce kompilator j
zyka C/C++ przeznaczony dla komputerów IBMPC. Nie bez znaczenia dla tej decyzji był tak
e fakt,
e BorlandC++ i Turbo C++ bez konfliktów współpracuje z:* Turbo Pascal i Borland Pascal;* Assemblerami: TASM, BASM i MASM;* Turbo Debuggerem i Turbo Profilerem;* bibliotekami Turbo Vision, ObjectVision, Object WindowsLibrary, Database Tools, itp.* pakietami innych producentów - np. Win/Sys Library, ObjectProfessional, CA-Visual Objects, Clipper, itp.i in. produktami "ze stajni" Borlanda popularnymi w
ródprogramistów. Programy TASM/BASM, Debugger, Profiler a tak
eniektóre biblioteki (np. Object Windows Library, Turbo VisionLibrary, itp. wchodz
 
w skład pakietów instalacyjnych BORLANDA,ale UWAGA - niestety nie wszystkich). Borland C++ 4+ pozwala,dzi
ki obecno
ci specjalnych klas VBX w bibliotece klas iobiektów Object Windows Library na wykorzystanie programów izasobów tworzonych w
rodowisku Visual Basic'a. Podobniekompilatory C++ firmy Microsoft (szczególnie Visual C++)bezkonfliktowo współpracuj
 
z zasobami innych aplikacji - np.Access, Excel, itp..Warto tu zwróci
uwag
na jeszcze jeden czynnik, który mo
e sta
 si
Twoim, Czytelniku atutem. Je
li znasz ju
kompilatory TurboPascal, b
 
d
Borland Pascal, zwró
uwag
,
e wiele funkcjizaimplementowanych w Turbo Pascal 6.0. czy 7.0 ma swojeodpowiedniki w BORLAND C++ i Turbo C++. Odpowiedniki te zwykledziałaj
 
dokładnie tak samo, a ró
ni
 
si
najcz

ciejnieznacznie pisowni
 
nazwy funkcji. Wynika to z błogosławie
stwa"lenistwa" (pono
homo sapiens najwi
cej wynalazków popełniałwła
nie ze strachu, b
 
d
z lenistwa...). Firmie Borland "niechciało si
" wymy
la
od nowa tego, co ju
sprawdziło si
 wcze
niej i do czego przyzwyczaili si
klienci! I odwrotnie.Poznawszy Borland/Turbo C++ z łatwo
ci
 
zauwa
ysz te samefunkcje w Borland/Turbo Pascalu.[!!!]UWAGA!________________________________________________________________O Kompilatorach BORLAND C++ 4 i 4.5 napisz
nieco pó
niej,poniewa
s
 
bardziej skomplikowane i wymagaj
 
troch
wi
kszejznajomo
ci zasad tworzenia i uruchamiania programów (projekty).To prawda,
e zawieraj
 
narz
dzia klasy CASE do automatycznegogenerowania aplikacji i jeszcze kilka innych ułatwie
, ale miejtroch
cierpliwo
ci...________________________________________________________________[???] C.A.S.E.________________________________________________________________CASE - Computer Aided Software Engineering - in
ynieriaprogramowa wspomagana komputerowo. Najnowsze kompilatory C++wyposa
one s
 
w narz
dzia nowej generacji. W ró
nych wersjachnazywaj
 
si
one AppExpert, ClassExpert, AppWizard, VBXGenerator, itp. itd, które pozwalaj
 
w du
ym stopniuzautomatyzowa
proces tworzenia aplikacji. Nie mo
na jednakzaczyna
kursu pilota
u od programowania autopilota - a kursuprogramowania od automatycznych generatorów aplikacji dlaWindows...________________________________________________________________Zaczynamy zatem od rzeczy najprostszych, maj
 
c jedynie t
 

Activity (6)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Mar Mat liked this
toja1 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->