Lập trình hướng đối tượng - 1

Mục Lục Mục Lục 1 Chương 1: Lập Trình Hướng Đối Tượng Và C ++ 5 1.1. Lập Trình Hướng Đối Tượng Là Gì 5 1.2. Các Ngôn Ngữ Và Một Vài Ứng Dụng Hướng Đối Tượng 5 1.3. Một Số Khái Niệm Trong Lập Trình Hướng Đối Tượng 6 1.3.1. ...

Lập trình hướng đối tượng - 2

Hàm tạo có nhiệm vụ khởi tạo một đối tượng: cấp phát bộ nhớ, gán các giá trị cho các thành phần dữ liệu cũng như việc chuẩn bị chỗ cho các đối tượng mới. Một lớp có thể có một hay nhiều hàm tạo. Để xác định hàm tạo ...

Truyền Giá Trị Cho Hàm Theo Biến Tham Chiếu

R->rptr=p; p->lptr=r; r=p; } } } void ht()//hiển thị các số nguyên trong danh sách { node *p; p=l; while(p!=NULL) { cout<<p->info<<" "; p=p->rptr; } } node *tim(int x)//tìm địa chỉ nút có info = x cho trước { node *p; p=l; ...

Lập trình hướng đối tượng - 4

Hienthi(z); getch(); } Ví dụ 1.15: viết chương trình khai báo cấu trúc đa thức bậc n, viết các hàm và hàm toán tử thực hiện các công việc sau: a. Nhập vào bậc và các hệ số cđa đa thức b. Hiển thị đa thức ra màn hình c. Tính giá trị cđa ...

Lập trình hướng đối tượng - 5

B. pa = (*(A+1)) + 1; c. pa = &A[1][1]; d. pa = *((*(A+1)) + 1); 9. Giả sử ta khai báo một hàm có sử dụng con trỏ hàm với khuôn mẫu như sau: int Calcul(int a, int b, int (*Xcalcul)(int x, int y)){}, và ta có cài đặt một số hàm như sau: int add(int a, int b); ...

Lập trình hướng đối tượng - 6

Các phương thức cđa lớp có thể được định nghĩa bên trong định nghĩa lớp hoặc bên ngoài định nghĩa lớp. Khi định nghĩa một phương thức bên ngoài định nghĩa lớp thì trước tên phương thức ta sử dụng Tên_lớp :: (Hai dấu hai chấm ...

Lớp Không Có Hàm Tạo Và Hàm Tạo Mặc Định

Kq.ts=ts*x.ms; kq.ms=ms*x.ts; return kq; } void main() { phanso x,y,z,t; cout<<"Nhap phan so thu nhatn"; x.nhap(); cout<<"Nhap phan so thu hain"; y.nhap(); cout<<"nTong hai phan so:"; z=x+y; t=rutgon(z); t.hienthi(); cout<<"nHieu hai phan ...

Lập trình hướng đối tượng - 8

Cout<< Toa do : <<x<<" "<<y<<"n"; } void main() { clrscr(); point a(5,2); //Hợp lệ a.display(); a.move(-2,4); a.display(); point b[10]; /*Hềt lỗi vì hàm tạo không tham số được gọi để tạo các đối tượng thành phần ...

Hàm Tạo Và Đối Tượng Thành Phần

Có đối ngầm định là con trỏ this, đối ngầm định này biểu thị đối tượng chđ thể trong lời gọi phương thức  Nhóm các phương thức để tạo, huỷ đối tượng Có đối ngầm định là con trỏ this, đối ngầm định này biểu thị ...

Đối Tượng Hằng, Phương Thức Hằng

} counter:: ~counter () { cout<<" Xoa : bay gio con "<< count<<" doi tuongn"; } void main() { clrscr(); void fct(); counter a; fct(); counter b; } void fct() { counter u,v; } Nhận xét : Thành phần dữ liệu tĩnh có thể là private hay public. 2.5.2. ...

Lập trình hướng đối tượng - 11

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 ...

Hàm Tạo Và Hàm Huỷ Đối Với Tính Thừa Kế

Tên lớp dẫn xuất : là tên lớp được cho thừa kế từ lớp khác. Tên lớp này tuân thđ theo quy tắc đặt tên biến trong C++. Tên lớp cở sở : là tên lớp đã được định nghĩa trước đó để cho lớp khác thừa kế. Tên lớp này cũng tuân ...

Phạm Vi Truy Xuất Đến Các Thành Phần Cđa Lớp Cơ Sở

Ví dụ 3.5: #include<string.h> /* Định nghĩa lớp Car */ class Car { int speed; // Tốc độ char mark[20]; // Nhãn hiệu float price; // Giá xe public: Car(); // Hàm tạo không tham số Car(int, char[], float); // Hàm tạo có tham số }; Car::Car() // Hàm tạo không ...

Lập trình hướng đối tượng - 15

 nếu khai báo trong phạm vi lớp: virtual <Kiểu trả về> <Tên phương thức>([<tham số>]);  nếu định nghĩa ngoài phạm vi lớp: virtual <Kiểu trả về> <Tên lớp>::<Tên phương thức>([<tham số>]) { … } Ví dụ ...

Lập trình hướng đối tượng - 16

} friend fstream &operator<<(fstream &fs, const ts &t) { fs<<t.sbd<<endl; fs<<t.ten<<endl; fs<<t.diem<<endl; return fs; } friend fstream &operator>>(fstream &fs,ts &t) { fs.getline(t.sbd,5); fs.getline(t.ten,30); ...

Lập trình hướng đối tượng - 18

}; và A là một lớp dẫn xuất từ lớp B theo kiểu private: class A: private B { }; khi đó, nếu myA là một đối tượng lớp A, lệnh nào sau đây là chấp chận được: a. myA.x; b. myA.getx(); c. Cả hai lệnh trên. d. Không lệnh nào cả. 10. Giả sử B ...

Các Tham Số Kiểu Cđa Khuôn Hình Hàm

If (a.ts*b.ms < b.ts*a.ms) return 1; else return 0; } void main() { clrscr(); phanso u(3,2),v(5,6); cout<<"min (u, v) = "; min(u,v).display(); getch(); } chạy chương trình trên ta thu được kết quả: min (u, v) = 5/6 nếu ta áp dụng khuôn hình hàm min() đối ...

Các Tham Số Biểu Thức Trong Khuôn Hình Lớp

Khuôn hình lớp một lần rồi sau đó có thể áp dụng chúng với các kiểu dữ liệu khác nhau để được các lớp thể hiện khác nhau. 4.2.2. Tạo một khuôn hình lớp Xét ví dụ 4.8: #include<iostream.h> #include<conio.h> class stack { private: ...

Sự Giống Nhau Cđa Các Lớp Thể Hiện

{ T tab[n]; public: array() { cout<<"Tao mang mot chieun";} T & operator[](int i) { return tab[i]; } }; class point { int x, y; public: point (int abs = 1, int ord = 1) { x = abs; y = ord; cout<<"Tao diem "<<x<<" ...

Lập trình hướng đối tượng - 22

{ node *p, *end; p=new node; p->info=x; p->link=NULL; if(home NULL) home=p; else { end=home; while(end->link!=NULL) end=end->link; end->link=p; } } void add(int x, unsigned int k) { node *p, *q; unsigned int dem=0; if((k<1)||(k>count()+1)) { cout<<"Vi tri bo sung ...

Lập trình hướng đối tượng - 23

Cú pháp: cout<<tham_số_1<<tham_số_2<<.<<tham_số_n; Trong đó: các tham số có thể có kiểu nguyên, thực, ký tự, dãy ký tự Chức năng: Xuất dữ liệu ra màn hình. Trước khi sử dụng cout và toán tử xuất có thể sử dụng một ...

Lập trình hướng đối tượng - 24

Số thực 678.0 được in: 678 + Khi ios::fixed bật và cờ ios::showpoint bật thì số thực in ra dưới dạng thập phân, số chữ số phần phân (sau dấu chấm) được in ra đúng bằng độ chính xác n. Ví dụ nếu độ chính xác n = 4 thì: Số thực ...

Đọc Ghi Dữ Liệu Đồng Thời Trên Tệp Lớp Fstream

Sizeof(Employee)); } /* Đóng tệp tin */ fileOut.close(); // Đóng tệp tin return; } 5.8. Đọc dữ liệu từ tệp Các bước thực hiện để đọc dữ liệu từ một tệp tin như sau: B1. Mở tệp tin theo chề độ để đọc bằng đối tượng ifstream (mở ...

Lập trình hướng đối tượng - 26

Void main() { char filename[20]; int i,n; ts x; cout<<"Nhap so thi sinh n ="; cin>>n; cin.ignore(1); cout<<"Nhap ten tep:"; cin.getline(filename,20); fstream f(filename,ios::out | ios::in); while(f>>x,!f.eof()) cout<<x; cout<< Nhap thi sinh ...

Lập trình hướng đối tượng - 27

Void list::doc_tep(char *filename) { ts x; fstream f(filename,ios::in|ios::trunc); while(f>>x,!f.eof()) add(x); f.close(); } void list::ghi_tep(char *filename) { node *p; ts x; fstream f(filename,ios::out|ios::in|ios::trunc); p=home; while(p!=NULL) { f<<p->info; p=p->link; } ...

Lập trình hướng đối tượng - 28

{ list kq; clrscr(); cout<<"na. Xet theo diem chuan"; cout<<"nb. Xet theo so luong"; cout<<"nc. Quay lai(nhan r):"; cout<<"n Ban chon:"; cin.ignore(1); cin>>lc; switch(lc) { case 'a': cout<<"Diem ...

Lập trình hướng đối tượng - 29

} friend fstream &operator>>(fstream &fs,phong &t) { fs.getline(t.pid,5); fs.getline(t.pname,30); fs.getline(t.add,30); fs.getline(t.phone,11); return fs; } char *getid(); }; char *phong::getid() { return pid; } //lớp mặt hàng class mathang { private: char mhid[5]; char ...

Lập trình hướng đối tượng - 30

While((q!=NULL)&&(strcmp((q->info).getid(),x)!=0)) q=q->link; if(q!=NULL) { p=q->link; remove(q); } else p=NULL; } } }; //lớp danh sách hoá đơn class hdlist:public list<hoadon> { private: node<hoadon> *home; public: long tk_nv(char *ma) { node<hoadon> *p; ...

Lập trình hướng đối tượng - 31

Hdl.doc_tep("hoadon.txt"); do vien"; sungn"; { clrscr(); cout<<"na. Hien thi danh sach hoadon"; cout<<"nb. Tim kiem"; cout<<"nc. Bo sung hoa don vao danh sach"; cout<<"nd. Loai bo hoa don khoi danh sach:"; ...

Lập trình hướng đối tượng - 32

'volatile' const hoặc volatile Constructor cannot have a return type specification Hàm tạo không thể trả về giá trị Could not find file 'filename' Không tìm thấy file Declaration is not allowed here Khai báo đặt sai vị trí Declaration missing ; Khai báo ...