Ví dụ minh hoạ việc dùng phương thức tĩnh

Một phần của tài liệu Chương 4C++ và lập trình hướng đối tượngTrong chương này trình bầy các pdf (Trang 67 - 70)

Xét bài toán quản lý hoá đơn bán hàng. Mỗi hoá đơn có 2 dữ liêu là tên hàng và tiền bán. Sử dụng hàm tạo để tạo ra các hoá đơn, dùng hàm huỷ để bỏ đi (loại đi) các hoá đơn không cần lưu trữ, dùng một phương thức để sửa chữa nội dung hoá đơn (nhập lại tiền bán). Vấn đề đặt ra là sau một số thao tác: Tạo, sửa và huỷ hoá đơn thì tổng số hoá đơn còn lại là bao nhiêu và tổng số tiền trên các hoá đơn còn lại là bao nhiêu?

Chương trình dưới đây nhằm đáp ứng yêu cầu đặt ra. //CT4_14.CPP

// thanh phan tinh

// Lop HDBH (hoa don ban hang) #include <conio.h> #include <iostream.h> class HDBH { private: char *tenhang ; double tienban ; static int tshd ;

static double tstienban ; public:

HDBH(char *tenhang1=NULL,double tienban1=0.0 ) {

tenhang=tenhang1; ++tshd; tstienban += tienban; } ~HDBH() { --tshd; tstienban -= tienban; } void sua();

static void in(); } ;

int HDBH::tshd=0;

double HDBH::tstienban=0; void HDBH::in()

{

cout <<"\n\nTong so hoa don: " << tshd; cout <<"\nTong so tien: " << tstienban; }

void HDBH::sua() {

cout << "\n\nTen hang: " << tenhang; cout << "\nTien ban : " << tienban; tstienban -= tienban;

cout << "\nSua tien ban thanh : " ; 212

cin >> tienban;

tstienban += tienban; }

void main() {

HDBH *h1 = new HDBH("Xi mang",2000); HDBH *h2 = new HDBH("Sat thep",3000); HDBH *h3 = new HDBH("Ti vi",4000); clrscr(); HDBH::in(); getch(); delete h1; HDBH::in(); getch(); h2->sua(); HDBH::in(); getch(); delete h3; HDBH::in(); getch(); } Đ 10. Mảng đối tượng 10.1. Khai báo

Có thể dùng tên lớp để khai báo mảng đối tượng (giống như khai báo mảng int, float, char, ...) theo mẫu: Tên_lớp tên_mảng[kích_cỡ] ;

Ví dụ giả sử đã định nghĩa lớp DIEM (Điểm), khi đó có thể khai báo các mảng đối tượng DIEM như sau: DIEM a[10], b[20] ;

ý nghĩa: a là mảng kiểu DIEM gồm 10 phần tử b là mảng kiểu DIEM gồm 20 phần tử

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 được gọi 30 lần để tạo 30 phần tử mảng đối tượng.

Một phần của tài liệu Chương 4C++ và lập trình hướng đối tượngTrong chương này trình bầy các pdf (Trang 67 - 70)