1. Trang chủ
  2. » Công Nghệ Thông Tin

4 nạp chồng toán tử

5 739 7

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 116 KB

Nội dung

HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bộ môn: Công nghệ phần mềm Giáo viên: 1) Phạm Thị Bích Vân Bài IV: Nạp chồng toán tử Thời lượng: tiết (GV giảng: 3; tập: 3) Mục đích, yêu cầu: Giới thiệu sinh viên ý nghĩa, cách xây dựng nạp chồng toán tử Cách nạp chồng toán tử chèn dòng, trích dòng, toán tử đặc biệt Nội dung: a) Nội dung chi tiết: • Giới thiệu • Trong chương tìm hiểu làm cho phép toán tử C++ làm việc với đối tượng lớp Xử lý gọi nạp chồng toán tử (operator overloading) Các nguyên tắc nạp chồng toán tử − Lập trình viên sử dụng kiểu có sẵn định nghĩa kiểu − Các lập trình viên sử dụng toán tử với kiểu người dùng định nghĩa − Các toán tử nạp chồng cách viết định nghĩa hàm ngoại trừ tên hàm trở • thành từ khóa operator theo sau ký hiệu toán tử nạp chồng Prototype có dạng sau: type operator operator_symbol ( parameter_list ); Các giới hạn − Phần lớn toán tử C++ nạp chồng Các toán tử nạp chồng: − Các toán tử nạp chồng: − Không thể thay đổi số toán hạng mà toán tử yêu cầu: Nạp chồng toán tửtoán tử ngôi; nạp chồng toán tử hai toán tử hai Nạp chồng toán tử − Các toán tử hai nạp chồng hình sau: Bộ môn Công nghệ phần mềm − Một toán tử hai nạp chồng hàm thành viên không tĩnh với tham số • hàm không thành viên với hai tham số Nạp chồng toán tử − Các toán tử nạp chồng hình sau: − Một toán tử lớp nạp chồng hàm thành viên không tĩnh với • tham số hàm không thành viên với tham số; Tham số phải đối tượng lớp tham chiếu đến đối tượng lớp Nạp chồng toán tử đặc biệt • Toán tử [] − Khi cài đặt lớp vector chuỗi ký tự, cần phải truy cập đến phần tử chúng, − ngôn ngữ C/C++ có toán tử [] để truy cập đến phần tử mảng Đây toán tử hai ngôi, có dạng a[b] nạp chồng toán tử hàm toán tử tương ứng • phải thành viên lớp Toán tử () − Toán tử () dùng để gọi hàm, toán tử gồm hai toán hạng: toán hạng tên hàm, − toán hạng thứ hai danh sách tham số hàm Toán tử có dạng giống toán tử [] nạp chồng toán tử hàm toán tử tương • ứng phải thành viên lớp Nạp chồng toán tử chuyển đổi kiểu − Một toán tử chuyển đổi kiểu sử dụng để chuyển đổi đối tượng lớp − thành đối tượng lớp khác thành đối tượng kiểu có sẵn Toán tử chuyển đổi kiểu phải hàm thành viên không tĩnh không hàm friend Prototype hàm thành viên có cú pháp: • operator (); Nạp chồng toán tử new delete − Hàm toán tử toán tử new delete có prototype sau: Bộ môn Công nghệ phần mềm • void * operator new(size_t size); void operator delete(void * ptr); Trong tham số kiểu size_t trình biên dịch hiểu kích thước kiểu liệu trao cho toán tử new Nạp chồng toán tử chèn dòng − Ta nạp chồng toán tử chèn dòng > (stream − extraction) Hàm toán tử toán tử trả tham chiếu đến dòng xuất istream Tham số thứ hàm toán tử >> tham chiếu đến dòng xuất istream, tham số thứ hai đối tượng Một số ví dụ • Lớp String Xây dựng lớp xử lý việc tạo thao tác chuỗi (string) C++ không cài sẵn kiểu liệu chuỗi Nhưng C++ cho phép thêm kiểu chuỗi lớp thông qua chế nạp chồng class String { private: char *Ptr; //Con tro tro den diem bat dau cua chuoi int Length; //Chieu dai chuoi public: String(const char * = ""); //Constructor chuyen doi String(const String &); //Constructor chep ~String(); //Destructor const String &operator=(const String &); //Phep gan String &operator+=(const String &); //Phep noi int operator!() const; //Kiem tra chuoi rong int operator==(const String &) const; int operator!=(const String &) const; int operator(const String &) const; int operator>=(const String &) const; int operator

Ngày đăng: 18/10/2017, 04:42

TỪ KHÓA LIÊN QUAN

w