Giáo trình Lập trình hướng đối tượng (Phần 1)

Lập trình hướng đối tượng có hai đặc trưng cơ bản:

 Đóng gói dữ liệu: dữ liệu luôn được tổ chức thành các thuộc tính của lớp

đối tượng. Việc truy nhập đến dữ liệu phải thông qua các phương thức của

đối tượng lớp.

 Sử dụng lại mã nguồn: việc sử dụng lại mã nguồn được thể hiện thông qua

cơ chế thừa kế. Cơ chế này cho phép các lớp đối tượng có thể thừa kế từ

các lớp đối tượng khác. Khi đó, trong các lớp dẫn xuất, có thể sử dụng các

phương thức (mã nguồn) của các lớp cơ sở mà không cần phải định nghĩa

lại.

Lập trình hướng đối tượng có một số ưu điểm nổi bật:

 Không còn nguy cơ dữ liệu bị thay đổi tự do trong chương trình vì dữ liệu

đã được đóng gói vào các đối tượng. Nếu muốn truy nhập vào dữ liệu phải

thông qua các phương thức được cho phép của đối tượng.

 Khi thay đổi cấu trúc dữ liệu của một đối tượng, không cần thay đổi mã

nguồn của các đối tượng khác, mà chỉ cần thay đổi một số thành phần của

đối tượng dẫn xuất. Điều này hạn chế sự ảnh hưởng xấu của việc thay đổi

dữ liệu đến các đối tượng khác trong chương trình.

 Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên, chi phí thời gian vì

nguyên tắc thừa kế cho phép các lớp dẫn xuất sử dụng các phương thức từ

lớp cơ sở như những phương thức của chính nó, mà không cần thiết phải

định nghĩa lại.

 Phù hợp với các dự án phần mềm lớn, phức tạp.

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 1

Trang 1

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 2

Trang 2

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 3

Trang 3

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 4

Trang 4

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 5

Trang 5

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 6

Trang 6

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 7

Trang 7

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 8

Trang 8

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 9

Trang 9

Giáo trình Lập trình hướng đối tượng (Phần 1) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 87 trang duykhanh 6300
Bạn đang xem 10 trang mẫu của tài liệu "Giáo trình Lập trình hướng đối tượng (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Lập trình hướng đối tượng (Phần 1)

Giáo trình Lập trình hướng đối tượng (Phần 1)
¸ch thªm mét ph•¬ng thøc tÜnh trong 
líp counter. 
#include 
#include 
class counter 
{ 
 static int count; 
 public : 
 counter (); 
 ~ counter (); 
 static void counter_display(); 
 }; 
int counter::count = 0; 
void counter::counter_display() 
 { 
 cout<<"Hien dang co "<<count<<" doi tuong \n"; 
 } 
counter:: counter () 
{ 
 cout<<"++Tao : bay gio co "<<++count<<" doi tuong\n"; 
} 
counter:: ~counter () 
 { 
 cout<<"--Xoa : bay gio con "<<--count<<" doi tuong\n"; 
 } 
void main() 
{ 
 clrscr(); 
 void fct(); 
 counter a; 
 fct(); 
 counter::counter_display(); 
 Trang - 74 - 
LËp tr×nh h•íng ®èi t•îng 
 counter b; 
 } 
void fct() 
{ 
 counter u; 
 counter::counter_display();//gäi qua tªn líp 
 counter v; 
 v.counter_display();//gäi qua ®èi t•îng 
} 
2.6. Khëi g¸n m¶ng ®èi t•îng 
 Sau khi khai b¸o líp, ta cã thÓ dïng tªn líp ®Ó khai b¸o m¶ng ®èi t•îng gièng 
nh• c¸ch khai b¸o m¶ng cã kiÓu d÷ liÖu chuÈn kh¸c theo mÉu có ph¸p: 
 Tªn_líp Tªn_m¶ng[kÝch cì]; 
 VÝ dô: cpoint P[100]; 
 C©u lÖnh khai b¸o m¶ng sÏ gäi tíi hµm t¹o kh«ng ®èi ®Ó t¹o c¸c phÇn tö m¶ng. 
Trong vÝ dô trªn, hµm t¹o kh«ng ®èi cña líp cpoint ®•îc gäi 100 lÇn ®Ó t¹o 100 
phÇn tö m¶ng ®èi t•îng. 
 §Ó khai b¸o m¶ng vµ khëi g¸n gi¸ trÞ cho c¸c phÇn tö m¶ng ®èi t•îng, ta sö 
dông hµm t¹o cã ®èi theo mÉu có ph¸p: 
 Tªn_líp Tªn_m¶ng[kÝch cì] = {tªn_líp(c¸c tham sè), tªn_líp(c¸c tham 
sè),..}; 
 VÝ dô: 
 cpoint P[5] = {cpoint(0,0), cpoint(10,0), cpoint(10,10)}; 
 C©u lÖnh khai b¸o trªn sÏ yªu cÇu gäi hµm t¹o cã ®èi 3 lÇn vµ gäi hµm t¹o 
kh«ng ®èi 2 lÇn ®Ó sinh ra 5 ®èi t•îng cña líp cpoint. 
 §Ó truy nhËp vµo c¸c thµnh phÇn cña phÇn tö m¶ng ®èi t•îng, ta sö dông có 
ph¸p : 
 Tªn_m¶ng[chØ sè phÇn tö].Tªn_thuéc_tÝnh //truy nhËp vµo thuéc tÝnh 
 //truy nhËp vµo ph•¬ng thøc 
 Tªn_m¶ng[chØ sè phÇn tö].Tªn_ph•¬ng_thøc(danh s¸ch ®èi); 
 Trang - 75 - 
LËp tr×nh h•íng ®èi t•îng 
2.7. CÊp ph¸t bé nhí cho ®èi t•îng 
 Cã thÓ dïng to¸n tö new ®Ó cÊp ph¸t bé nhí cho mét hoÆc mét d·y c¸c ®èi 
t•îng. Bé nhí ®•îc cÊp ph¸t ®•îc qu¶n lý bëi con trá kiÓu ®èi t•îng. VÝ dô, ta 
cã thÓ cÊp ph¸t bé nhí cho c¸c ®èi t•îng cña líp cpoint nh• sau : 
 cpoint *p, *q ; 
 p = new cpoint ; 
 q = new cpoint[10] ; 
 §Ó truy nhËp vµo c¸c thµnh phÇn cña ®èi t•îng th«ng qua con trá ®èi t•îng, ta 
sö dông có ph¸p : 
 Tªn_con_trá->tªn_thuéc_tÝnh //truy nhËp vµo thuéc tÝnh 
 Tªn_con_trá->tªn_ph•¬ng_thøc //gäi ph•¬ng thøc 
 VÝ dô : p->x ; p->y ; p->input() ; 
 §Ó biÓu thÞ ®èi t•îng th«ng qua con trá ®èi t•îng, ta viÕt *Tªn_con_trá 
 VÝ dô : *p 
 NÕu q lµ con trá ®èi t•îng trá tíi ®Þa chØ ®Çu vïng nhí cña mét d·y ®èi t•îng. 
Khi ®ã, ®Ó truy nhËp vµo c¸c thµnh phÇn cña ®èi t•îng thø i trong d·y, ta viÕt : 
q[i].tªn_thµnh_phÇn 
hoÆc (q+i)->tªn_thµnh_phÇn 
2.8. §èi t•îng h»ng, ph•¬ng thøc h»ng 
a) §èi t•îng h»ng 
 Còng nh• c¸c phÇn tö d÷ liÖu kh¸c, mét ®èi t•îng cã thÓ ®•îc khai b¸o lµ 
h»ng. C¸c ph•¬ng thøc duy cã thÓ sö dông cho c¸c ®èi t•îng h»ng lµ c¸c hµm t¹o 
vµ hµm huû. Bëi lÏ c¸c ®èi t•îng h»ng kh«ng thÓ thay ®æi, mµ chØ ®•îc t¹o ra 
hoÆc huû bá ®i. Tuy nhiªn, khi xö lý c¸c ®èi t•îng h»ng b»ng c¸c ph•¬ng thøc 
kh¸c th× ch•¬ng tr×nh dÞch sÏ c¶nh b¸o (warning): 
 Non-const function called for const object 
 nh•ng ch•¬ng tr×nh EXE vÉn ®•îc t¹o ra vµ khi thùc hiÖn ch•¬ng tr×nh, th× néi 
dung c¸c ®èi t•îng h»ng vÉn bÞ thay ®æi. 
VÝ dô 2.16: 
 #include 
 #include 
 int uscln(int a, int b) 
 Trang - 76 - 
LËp tr×nh h•íng ®èi t•îng 
 { 
 while(a!=b) 
 if(a>b) a=a-b; 
 else b=b-a; 
 return a; 
 } 
 class phanso 
 { 
 private: 
 int ts; 
 int ms; 
 public: 
 phanso() 
 { 
 ts=0; 
 ms=1; 
 } 
 phanso(int a, int b) 
 { 
 ts=a; 
 ms=b; 
 } 
 ~phanso() 
 { 
 ts=0; 
 ms=1; 
 } 
 void nhap() 
 { 
 cout>ts; 
 cout>ms; 
 } 
 void hienthi(); 
 Trang - 77 - 
LËp tr×nh h•íng ®èi t•îng 
 void rutgon(); 
 }; 
 void phanso::rutgon() 
 { 
 int usc; 
 usc=uscln(ts,ms); 
 ts=ts/usc; 
 ms=ms/usc; 
 } 
 void phanso::hienthi() 
 { 
 cout<<ts<<"/"<<ms; 
 } 
 void main() 
 { 
 const phanso ps = phanso(3,6);//khai b¸o ®èi t•îng h»ng 
 cout<<"\nPhan so ban dau:"; 
 ps.hienthi();//gäi ph•¬ng thøc xö lý ®èi t•îng h»ng 
 cout<<"\nPhan so sau khi rut gon:"; 
 ps.rutgon();//gäi ph•¬ng thøc xö lý ®èi t•îng h»ng 
 ps.hienthi(); 
 getch(); 
 } 
 Khi dÞch ch•¬ng tr×nh, ch•¬ng tr×nh dÞch sÏ ®•a ra c¸c c¶nh b¸o sau: 
 Non-const function phanso::hienthi called for const object 
 Non-const function phanso::rutgon called for const object 
 Vµ khi ch¹y ch•¬ng tr×nh ta thu ®•îc kÕt qu¶: 
 Phan so ban dau:3/6 
 Phan so sau khi rut gon:1/2 
b) Ph•¬ng thøc h»ng 
 Ph•¬ng thøc cña líp ®•îc khai b¸o víi tõ kho¸ const ®øng ngay sau danh s¸ch 
c¸c tham sè h×nh thøc ®•îc gäi lµ ph•¬ng thøc h»ng. 
 Trang - 78 - 
LËp tr×nh h•íng ®èi t•îng 
 Ph•¬ng thøc h»ng kh«ng thÓ thay ®æi néi dung mét ®èi t•îng. Mét ph•¬ng 
thøc h»ng ph¶i ®•îc m« t¶ c¶ trong khai b¸o vµ khi ®Þnh nghÜa. Ph•¬ng thøc 
h»ng cã thÓ ®•îc ®Þnh nghÜa chång b»ng mét ph•¬ng thøc kh«ng ph¶i ph•¬ng 
thøc h»ng. 
VÝ dô 2.17: 
 #include 
 #include 
 int uscln(int a, int b) 
 { 
 while(a!=b) 
 if(a>b) a=a-b; 
 else b=b-a; 
 return a; 
 } 
 class phanso 
 { 
 private: 
 int ts; 
 int ms; 
 public: 
 phanso() 
 { 
 ts=0; 
 ms=1; 
 } 
 phanso(int a, int b) 
 { 
 ts=a; 
 ms=b; 
 } 
 ~phanso() 
 { 
 ts=0; 
 Trang - 79 - 
LËp tr×nh h•íng ®èi t•îng 
 ms=1; 
 } 
 void nhap() 
 { 
 cout>ts; 
 cout>ms; 
 } 
 void hienthi() ; 
 void rutgon() const; 
 }; 
 void phanso::rutgon() const; 
 { 
 int usc; 
 usc=uscln(ts,ms); 
 ts=ts/usc; 
 ms=ms/usc; 
 } 
 void phanso::hienthi() 
 { 
 cout<<ts<<"/"<<ms; 
 } 
 void main() 
 { 
 const phanso ps = phanso(3,6);//khai b¸o ®èi t•îng h»ng 
 cout<<"\nPhan so ban dau:"; 
 ps.hienthi();//gäi ph•¬ng thøc xö lý ®èi t•îng h»ng 
 cout<<"\nPhan so sau khi rut gon:"; 
 ps.rutgon();//gäi ph•¬ng thøc h»ng xö lý ®èi t•îng h»ng 
 ps.hienthi(); 
 getch(); 
 } 
 Khi ch¹y ch•¬ng tr×nh, ch•¬ng tr×nh dÞch sÏ b¸o lçi: 
 Trang - 80 - 
LËp tr×nh h•íng ®èi t•îng 
 Cannot modify const object t¹i dßng lÖnh ts=ts/usc; trong th©n cña ph•¬ng 
 thøc rutgon. V× vËy, viÖc dïng ph•¬ng thøc h»ng cho c¸c ®èi t•îng h»ng sÏ 
 ®¶m b¶o gi÷ nguyªn néi dung cña c¸c ®èi t•îng h»ng. 
2.9. Hµm b¹n, líp b¹n 
C¸c thµnh phÇn private cña ®èi t•îng chØ cã thÓ truy nhËp bëi c¸c ph•¬ng thøc 
cña chÝnh líp ®ã. Ngoµi ra, ph•¬ng thøc cña líp cßn cã thÓ truy nhËp ®Õn tÊt c¶ 
thµnh phÇn private cña c¸c ®èi t•îng cïng líp ®•îc khai b¸o côc bé bªn trong 
ph•¬ng thøc ®ã hoÆc ®•îc truyÒn nh• lµ tham sè cña ph•¬ng thøc (cã thÓ b»ng 
tham trÞ , b»ng tham chiÕu hay b»ng con trá). Muèn mét hµm kh«ng ph¶i thµnh 
phÇn cña líp cã thÓ truy nhËp vµo c¸c thµnh phÇn cña líp ta sö dông “hµm b¹n”. 
Khi ®Þnh nghÜa mét líp, cã thÓ khai b¸o r»ng mét hay nhiÒu hµm b¹n; khai b¸o 
b¹n bÌ nh• thÕ cho phÐp c¸c hµm nµy truy xuÊt ®•îc tíi c¸c thµnh phÇn private 
cña líp gièng nh• c¸c ph•¬ng thøc cña líp ®ã. ¦u ®iÓm cña ph•¬ng ph¸p nµy lµ 
kiÓm so¸t c¸c truy nhËp ë cÊp ®é líp. 
 Khi tÊt c¶ c¸c ph•¬ng thøc cña mét líp lµ hµm b¹n cña mét líp kh¸c, ta cã 
kh¸i niÖm líp b¹n. VÝ dô ®Ó thiÕt lËp tÊt c¶ c¸c ph•¬ng thøc cña líp B lµ b¹n cña 
líp A th× trong khai b¸o líp A, ta ®•a ra chØ thÞ: 
 friend class B; 
 Trang - 81 - 
LËp tr×nh h•íng ®èi t•îng 
 C©u hái vµ bµi tËp 
1. Trong c¸c khai b¸o líp sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. class MyClass; 
 b. Class MyClass; 
 c. class MyClass{}; 
 d. Class MyClass{}; 
2. Gi¶ sö ta ®· ®Þnh nghÜa líp MyClass, b©y giê ta khai b¸o mét ®èi t•îng thuéc 
kiÓu líp nµy. Khai b¸o nµo lµ ®óng: 
 a. class MyClass me; 
 b. MyClass me; 
 c. MyClass me(); 
 d. MyClass me{}; 
3. Trong c¸c khai b¸o thuéc tÝnh ngay trong ph¹m vi cña khai b¸o líp MyClass 
nh• sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. int myAge; 
 b. private int myAge; 
 c. public int myAge; 
 d. private: int myAge; 
4. Trong c¸c khai b¸o ph•¬ng thøc ngay trong ph¹m vi cña khai b¸o líp MyClass 
nh• sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. public: void show(); 
 b. void show(); 
 c. void show(){cout << “hello!”;}; 
 d. void MyClass::show(){cout << “hello!”;} 
5. XÐt ®o¹n ch•¬ng tr×nh sau: 
class MyClass 
{ 
 int age; 
 public: 
 int getAge(); 
}; 
MyClass me; 
Khi ®ã, trong c¸c lÖnh sau, lÖnh nµo cã thÓ thªm vµo cuèi ®o¹n ch•¬ng tr×nh trªn: 
 Trang - 82 - 
LËp tr×nh h•íng ®èi t•îng 
 a. cout << MyClass::age; 
 b. cout << me.age; 
 c. cout << me.getAge(); 
 d. cin >> me.age; 
6. Trong c¸c khai b¸o hµm khëi t¹o cho líp MyClass nh• sau, nh÷ng khai b¸o 
nµo lµ ®óng: 
 a. myClass(); 
 b. MyClass(); 
 c. MyClass(MyClass); 
 d. void MyClas(); 
 e. MyClass MyClass(); 
7. Trong c¸c khai b¸o hµm hñy cho líp MyClass nh• sau, nh÷ng khai b¸o nµo lµ 
®óng: 
 a. ~myClass(); 
 b. ~MyClass(); 
 c. ~MyClass(MyClass); 
 d. void ~MyClas(); 
 e. MyClass ~MyClass(); 
8. Gi¶ sö ta khai b¸o líp MyClass cã mét thuéc tÝnh age vµ mét hµm khëi t¹o: 
 class MyClass 
 { 
 int age; 
 public: 
 MyClass(MyClass me){ 
 }; 
 int getAge(){return age}; 
 }; 
Trong c¸c dßng lÖnh sau, nh÷ng dßng nµo cã thÓ xuÊt hiÖn trong hµm khëi t¹o 
trªn: 
 a. age = MyClass.age; 
 b. age = me.age; 
 c. age = MyClass.getAge(); 
 Trang - 83 - 
LËp tr×nh h•íng ®èi t•îng 
 d. age = me.getAge(); 
 e. age = 10; 
9. XÐt khai b¸o líp nh• sau: 
 class MyClass 
 { 
 public: 
 MyClass(MyClass); 
 MyClass(int); 
 }; 
Trong sè c¸c khai b¸o ®èi t•îng sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. MyClass me; 
 b. MyClass me(); 
 c. MyClass me(10); 
 d. MyClass me1(10), me2(me1); 
10. XÐt khai b¸o líp nh• sau: 
 class MyClass{ 
 public: 
 MyClass();}; 
Trong sè c¸c khai b¸o con trá ®èi t•îng sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. MyClass *me; 
 b. MyClass *me(); 
 c. MyClass *me = new me(); 
 d. MyClass *me = new MyClass(); 
11. XÐt khai b¸o líp nh• sau: 
 class MyClass 
 { 
 public: 
 MyClass(int i=0, int j=0, float k=0); 
 }; 
Trong sè c¸c khai b¸o con trá ®èi t•îng sau, nh÷ng khai b¸o nµo lµ ®óng: 
 a. MyClass *me; 
 b. MyClass *me = new MyClass(); 
 c. MyClass *me = new MyClass(1, 20); 
 Trang - 84 - 
LËp tr×nh h•íng ®èi t•îng 
 d. MyClass *me = new MyClass(1, 20, 30); 
12. Khai b¸o mét líp nh©n viªn, cã tªn lµ Employee, víi ba thuéc tÝnh cã tÝnh 
chÊt private: 
 - Tªn nh©n viªn, cã d¹ng mét con trá kiÓu char 
 - Tuæi nh©n viªn, cã kiÓu int 
 - Lu¬ng nh©n viªn, cã kiÓu float. 
13. Thªm vµo líp Employee trong bµi 12 c¸c ph•¬ng thøc cã tÝnh chÊt public: 
 - set/get gi¸ trÞ thuéc tÝnh tªn nh©n viªn 
 - set/get gi¸ trÞ thuéc tÝnh tuæi nh©n viªn 
 - set/get gi¸ trÞ thuéc tÝnh lu¬ng nh©n viªn. 
14. ViÕt mét hµm khëi t¹o kh«ng cã tham sè cho líp Employee trong bµi 13, c¸c 
thuéc tÝnh cña líp nhËn gi¸ trÞ mÆc ®Þnh: 
 - gi¸ trÞ thuéc tÝnh tªn nh©n viªn, mÆc ®Þnh lµ chuçi kÝ tù rçng “” 
 - gi¸ trÞ thuéc tÝnh tuæi nh©n viªn, mÆc ®Þnh lµ 18 
 - gi¸ trÞ thuéc tÝnh lu¬ng nh©n viªn, mÆc ®Þnh lµ $100. 
15. ViÕt thªm mét hµm khëi t¹o víi ®Çy ®ñ ba tham sè t•¬ng øng víi ba thuéc 
tÝnh cña líp Employee trong bµi 14. 
16. Thªm vµo líp Employee mét ph•¬ng thøc show() ®Ó giíi thiÖu vÒ tªn, tuæi vµ 
l•¬ng cña ®èi t•îng nh©n viªn. 
17. ViÕt mét hµm hñy t•êng minh cho líp Employee nh»m gi¶i phãng vïng nhí 
cña con trá char, lµ kiÓu cña thuéc tÝnh tªn nh©n viªn. 
18. ViÕt mét ch•¬ng tr×nh sö dông líp Employee ®•îc x©y dùng sau bµi 17 víi 
c¸c thao t¸c sau: 
 - Khai b¸o mét ®èi t•îng kiÓu Employee, dïng hµm khëi t¹o kh«ng tham sè 
 - Dïng hµm show() ®Ó giíi thiÖu vÒ ®èi t•îng ®ã 
19. ViÕt mét ch•¬ng tr×nh sö dông líp Employee ®•îc x©y dùng sau bµi 17 víi 
c¸c thao t¸c sau: 
 - Khai b¸o mét ®èi t•îng kiÓu Employee, dïng hµm khëi t¹o kh«ng tham sè 
 - NhËp tõ bµn phÝm gi¸ trÞ c¸c thuéc tÝnh tªn, tuæi, l•¬ng nh©n viªn. 
 - G¸n c¸c gi¸ trÞ nµy cho c¸c thuéc tÝnh cña ®èi t•îng ®· khai b¸o, dïng c¸c 
 hµm set 
 - Dïng hµm show() ®Ó giíi thiÖu vÒ ®èi t•îng ®ã 
 Trang - 85 - 
LËp tr×nh h•íng ®èi t•îng 
20. ViÕt mét ch•¬ng tr×nh sö dông líp Employee ®•îc x©y dùng sau bµi 17 víi 
c¸c thao t¸c sau: 
 - Khai b¸o mét ®èi t•îng kiÓu Employee, dïng hµm khëi t¹o vëi ®ñ 3 tham sè 
 - Dïng hµm show() ®Ó giíi thiÖu vÒ ®èi t•îng ®ã 
21. ViÕt mét ch•¬ng tr×nh sö dông líp Employee ®•îc x©y dùng sau bµi 17 víi 
c¸c thao t¸c sau: 
 - Khai b¸o mét con trá ®èi t•îng kiÓu Employee 
 - CÊp ph¸t bé nhí, dïng hµm khëi t¹o vëi ®ñ 3 tham sè 
 - Dïng hµm show() ®Ó giíi thiÖu vÒ ®èi t•îng mµ con trá nµy ®ang trá tíi 
22. ViÕt mét ch•¬ng tr×nh nhËp d÷ liÖu cho mét m¶ng ®éng c¸c ®èi t•îng cña 
líp Employee trong bµi 17. ChiÒu dµi m¶ng ®éng còng ®•îc nhËp tõ bµn phÝm. 
23. ViÕt mét ch•¬ng tr×nh t×m kiÕm trªn m¶ng ®éng ®· ®•îc x©y dùng trong bµi 
22: t×m kiÕm vµ giíi thiÖu vÒ nh©n viªn trÎ nhÊt vµ nh©n viªn giµ nhÊt trong m¶ng 
®ã. 
24. ViÕt mét ch•¬ng tr×nh t×m kiÕm trªn m¶ng ®éng ®· ®•îc x©y dùng trong bµi 
22: t×m kiÕm vµ giíi thiÖu vÒ nh©n viªn cã l•¬ng cao nhÊt vµ nh©n viªn cã l•¬ng 
thÊp nhÊt trong m¶ng ®ã. 
25. ViÕt mét ch•¬ng tr×nh t×m kiÕm trªn m¶ng ®éng ®· ®•îc x©y dùng trong bµi 
22: t×m kiÕm vµ giíi thiÖu vÒ nh©n viªn cã tªn x¸c ®Þnh, do ng•êi dïng nhËp tõ 
bµn phÝm. 
26. ViÕt mét ch•¬ng tr×nh khai b¸o líp ph©n sè, x©y dùng c¸c ph•¬ng thøc vµ 
ph•¬ng thøc to¸n tö ®Ó: 
 a. NhËp mét ph©n sè tõ bµn phÝm 
 b. HiÓn thÞ mét ph©n sè ra mµn h×nh 
 c. Rót gän mét ph©n sè ®Õn d¹ng ph©n sè tèi gi¶n 
 d. TÝnh tæng hai ph©n sè 
 e. TÝnh hiÖu hai ph©n sè 
 f. TÝnh tÝch hai ph©n sè 
 g. TÝnh th•¬ng hai ph©n sè 
27. ViÕt mét ch•¬ng tr×nh khai b¸o líp sè phøc, x©y dùng c¸c ph•¬ng thøc vµ 
ph•¬ng thøc to¸n tö ®Ó: 
 a. NhËp mét sè phøc tõ bµn phÝm 
 b. HiÓn thÞ mét sè phøc ra mµn h×nh 
 Trang - 86 - 
LËp tr×nh h•íng ®èi t•îng 
 c. TÝnh tæng hai sè phøc 
 d. TÝnh hiÖu hai sè phøc 
 e. TÝnh tÝch hai sè phøc 
 f. TÝnh th•¬ng hai sè phøc 
28. ViÕt mét ch•¬ng tr×nh khai b¸o líp ®a thøc bËc n, x©y dùng c¸c ph•¬ng thøc 
vµ ph•¬ng thøc to¸n tö ®Ó: 
 a. NhËp mét ®a thøc tõ bµn phÝm 
 b. HiÓn thÞ mét ®a thøc ra mµn h×nh 
 c. TÝnh tæng hai ®a thøc 
 d. TÝnh hiÖu hai ®a thøc 
 e. TÝnh tÝch hai ®a thøc 
29. ViÕt mét ch•¬ng tr×nh khai b¸o líp Stack, x©y dùng hµm t¹o vµ c¸c ph•¬ng 
thøc ®Ó: 
 a. Khëi t¹o Stack rçng 
 b. KiÓm tra Stack ®Çy 
 c. KiÓm tra Stack rçng 
 d. Bæ sung mét phÇn tö vµo Stack 
 e. Lo¹i bá phÇn tö ë ®Ønh Stack 
Sö dông Stack ®Ó kiÓm tra mét x©u ký tù cã ph¶i x©u ®èi xøng kh«ng? 
30. ViÕt mét ch•¬ng tr×nh khai b¸o líp ma trËn vu«ng cÊp n, x©y dùng c¸c 
ph•¬ng thøc vµ ph•¬ng thøc to¸n tö ®Ó: 
 a. NhËp mét ma trËn tõ bµn phÝm 
 b. HiÓn thÞ mét ma trËn ra mµn h×nh 
 c. TÝnh tæng hai ma trËn 
 d. TÝnh hiÖu hai ma trËn 
 e. TÝnh tÝch hai ma trËn 
 f. T×m ma trËn chuyÓn vÞ 
 Trang - 87 - 

File đính kèm:

  • pdfgiao_trinh_lap_trinh_huong_doi_tuong_phan_1.pdf