... ht_di_dong_xuong(); // Vẽ một cặp 2 hình tròn di chuyển xuống void ht_di_dong_len(); // Vẽ một cặp 2 hình tròn di chuyển lên trên 24 8 Chương 7. Lớp và đối tư ng } V. HÀM HỦY (DESTRUCTOR) ... như giải phóng một vùng nhớ mà đối tư ng đang quản lý, xoá đối tư ng khỏi màn hình nếu như nó đang hiển thị, Việc hủy bỏ một đối tư ng thường xẩy ra trong 2 trường hợp sau: + Trong các toán ... n = 0; delete this → a; 24 6 Chương 7. Lớp và đối tư ng + Nội dung chương trình là: Dùng lệnh khai báo để tạo một đối tư ng u (kiểu PS) có nội dung như đối tư ng đã có d. // Ham tao sao...
... gọi hàm ht_di_dong_xuong() thì có 2 đối tư ng kiểu HT được tạo ra. Trong thân hàm sử dụng các đối tư ng này để vẽ các hình tròn di 25 2 Chương 7. Lớp và đối tư ng 4. Sự hạn chế của trình biên ... main() { int a [20 ],b [20 ],cv [20 ],dt [20 ],n; cout << "\n So hinh chu nhat: '' ; cin >> n; for (int i=1; i<=n; ++i) { cout <<"\n Nhap 2 canh cua hinh ... void dtcvhcn(int a, int b, int &dt, int &cv) { dt=a*b; cv =2* (a+b); } void main() { int a [20 ],b [20 ],cv [20 ],dt [20 ],n; cout << "\n So hinh chu nhat: '' ; cin...
... số }; PS operator+(PS p1, PS p2); // p1 + p2 PS operator-(PS p1 , PS p2); // p1 - p2 PS operator*(PS p1, PS p2); // p1 *p2 PS operator/(PS p1, PS p2); // p1/p2 − Với các phép toán có một ... to = "; 26 3Chương 8. Hàm bạn, định nghĩa phép toán cho lớp { SP u: u.a = u1.a + u2.a ; u.b = u1.b + u2.b ; return u; } }; Cách dùng SP u, u1, u2; u = cong(u1, u2); Phương án ... đối tư ng u, u1 và u2 thuộc lớp SP. 3. Hàm bạn của nhiều lớp Khi một hàm là bạn của nhiều lớp, thì nó có quyền truy nhập tới tất cả các thuộc tính của các đối tư ng trong các lớp này. 26 1Chương...
... Tên gọi Để phân biệt các đối tư ng với nhau chúng cần có một tên gọi. Hầu hết một đối tư ng được viết ra trong chương trình thuộc 2 dạng, một dạng đã có sẵn trong ngôn ngữ (ví dụ các từ khoá, ... C/C++. C++ là ngônngữ lập trình hướng đối tư ng được phát triển trên nền tảng của C, không những khắc phục một số nhược điểm của ngônngữ C mà quan trọng hơn, C++ cung cấp cho ngư i sử dụng ... xoá một kí tự tại vị trí con trỏ và 4 LỜI NÓI ĐẦU Ngôn ngữ lập trình (NNLT) C/C++ là một trong những ngônngữ lập trình hướng đối tư ng mạnh và phổ biến hiện nay do tính mềm dẻo và đa năng...
... có 2 đối dùng để trừ 2 đa thức operator* có 2 đối dùng để nhân 2 đa thức operator^có 2 đối dùng để tính giá đa thức tại x ơperator<< có 2 đối dùng để in đa thức ơperator>> có 2 ... operator+(PS p1, PS p2) { PS q; q.a = p1.a*p2.b + p2.a*p1.b; q.b = p1 .b * p2.b ; 26 9Chương 8. Hàm bạn, định nghĩa phép toán cho lớp return rutgon(q); } PS operator-(PS p1, PS p2) { PS ... { PS q; q.a = p1.a*p2.b - p2.a*p1 .b; q.b = p1.b * p2.b ; return rutgon(q); } PS operator*(PS p1, PS p2) { PS q; q.a = p1.a * p2.a ; q.b = p1.b * p2.b ; return rutgon(q);...
... có 2 đối dùng để trừ 2 đa thức operator* có 2 đối dùng để nhân 2 đa thức operator^có 2 đối dùng để tính giá đa thức tại x ơperator<< có 2 đối dùng để in đa thức ơperator>> có 2 ... operator*(PS p1, PS p2) { PS q; q.a = p1.a * p2.a ; q.b = p1.b * p2.b ; return rutgon(q); } PS operator/(PS p1 , PS p2) { PS q; q.a = p1.a * p2.b ; q.b = p1.b * p2.a ; return rutgon(q); ... DT operator+(DT d1, DT d2) { DT d; int k,i; k = d1.n > d2.n ? d1.n : d2.n ; for (i=0;i<=k ;++i) if (i<=d1.n && i<=d2.n) d.a[i] = d1.a[i] + d2.a[i]; else if (i<=d1.n)...
... Đối tư ng của các lớp trên được gọi là các dòng dữ liệu. Một số đối tư ng thuộc lớp iostream đã được khai báo sẵn (chuẩn) và được gắn với những thiết bị nhập/xuất cố định như các đối tư ng ... NSD nhập vào dãy dữ liệu : <><> 12& lt;>34.517ABC<>12E<>D ↵ khi đó các biến sẽ được nhận những giá trị cụ thể sau: a = 12 b = 34.517 c = 'A' s = "BC" ... các đối tư ng này sẽ cho phép NSD nhập dữ liệu thông qua bàn phím hoặc xuất kết quả thông qua màn hình. Để nhập/xuất thông qua các thiết bị khác (như máy in, file trên đĩa …), C++ 27 5Chương...
... 123 .25 00 được in thành 123 .25 0 123 .25 99 được in thành 123 .26 0 123 .2 được in thành 123 .20 0 − nếu fixed bật + showpoint tắt : 123 .25 00 được in thành 123 .25 123 .25 99 được in thành 123 .26 123 .2 ... in thành 123 .26 123 .2 được in thành 123 .2 − nếu scientific bật + showpoint bật : 12. 3 được in thành 1 .23 0e+01 2. 325 99 được in thành 2. 326 e+00 324 được in thành 3 .24 0e+ 02 − nếu scientific ... 3 .24 0e+ 02 − nếu scientific bật + showpoint tắt : 12. 3 được in thành 1 .23 e+01 2. 325 99 được in thành 2. 326 e+00 324 được in thành 3 .24 e+ 02 28 2 Chương 9. Các dòng nhập/xuất và file #include...
... ios::in | ios::binary); fstream fdich("DATA2", ios::out | ios::binary); char buf [20 00] ; int n = 20 00; while (n) { fnguon.read(buf, 20 00); n = fnguon.gcount(); fdich.write(buf, ... số chữ số đã xuất hiện trong file. 6. Cho 2 file số thực (đã được sắp tăng dần). In ra màn hình dãy số xếp tăng dần của cả 2 file. (Cần tạo cả 2 file dữ liệu này bằng Editor của C++). 7. ... vào file ODD.DAT. 9. Nhập bằng chương trình 2 ma trận số nguyên vào 2 file văn bản. Hãy tạo file văn bản thứ 3 chứa nội dung của ma trận tích của 2 ma trận trên. 10. Tổ chức quản lý file sinh...
... góp phần giúp nó vượt lên các ngôn ngữ lập trình khác là việc cho phép vế phải có thể chứa các phép gán khác. Ví dụ: a = 2 + (b = 5); tư ng đương với b = 5; a = 2 + b;Vì vậy biểu thức sau ... mang giá trị 2 vì 11 = 3*3 +2. Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=) Một đặc tính của ngônngữ C++ làm cho nó nổi tiếng là một ngônngữ súc tích ... Hai đoạn mã sau là tư ng đương: ví dụ switch if-else tư ng đươngswitch (x) { case 1: cout << "x is 1"; break; case 2: cout << "x is 2& quot;; break; ...
... tiếp lần lượt theo các công thức sau: C = 2p = a + b + c ; S = )cp)(bp)(ap(p −−− ; aSha 2 = ; ma = 22 2 22 2 1acb −+ ; ga = )ap(bcpcb−+ 2 ; pSr = ; SabcR4= ; 14. Tính ... 36Chương 2. Kiểu dữ liệu, biểu thức và câu lệnh hoặc thay cho viết : Luong[Nhanvien[3] [2* i+1]] = Luong[Nhanvien[3] [2* i+1]] * 29 0 ; có thể được viết lại bởi: Luong[Nhanvien[3] [2* i+1]] *= 29 0; ... chia chỉ lấy phần nguyên, ngư c lại nếu 1 trong 2 toán hạng là thực thì kết quả là số thực. Ví dụ: 13/5 = 2 // do 13 và 5 là 2 số nguyên 13.0/5 = 13/5.0 = 13.0/5.0 = 2. 6 // do có ít nhất 1 toán...