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

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

13 1,3K 5
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khuôn hình
Tác giả Hà Văn Sang
Trường học Academy of Finance
Chuyên ngành Information Systems
Thể loại Bài giảng
Năm xuất bản 2024
Thành phố Hanoi
Định dạng
Số trang 13
Dung lượng 121 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lập trình hướng đối tượng khuôn hình

Trang 1

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

Hà Văn Sang

Khoa HTTT, Academy Of Finance, Hanoi

Hà Văn Sang

Bộ môn: Tin học TC – KT

Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính

Tel: 0982.165.568

Email: sanghv@hvtc.edu.vn

Website: http://www.hvtc.edu.vn/sanghv

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

Trang 2

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

Hà Văn Sang

Khoa HTTT, Academy Of Finance, Hanoi

CHƯƠNG VI

Trang 3

1 Khuôn hình hàm

Định nghĩa

Ví dụ 1: xây dựng hàm tìm max của hai số thực

-Xây dựng hàm tính max của ba số thực

-Xây dựng hàm tính max của n số thực

Giải quyết:

•Nạp chồng hàm max

Vấn đề được giải quyết, nhưng phải viết n hàm

Trang 4

1 Khuôn hình hàm

Ví dụ 2: xây dựng hàm tìm max của hai số bất kỳ

Giải quyết:

int max(int a, int b){

if(a>b) return a;

elsse return b;}

float max(float a, float b){

if(a>b) return a;

elsse return b;}

Trang 5

1 Khuôn hình hàm

Khái niệm

Là mẫu của hàm có tham số là kiểu của đối số

Với mỗi giá trị hợp lệ của đối số sẽ phát sinh một

hàm cụ thể gọi là hàm thể hiện

Khai báo:

template <class T1, class T2 > <kiểu giá trị trả về> <tên khuôn hình

hàm>([ds tham số])

{

//thân khuôn hình hàm }

Trang 6

1 Khuôn hình hàm

Ví dụ1 :

template <class T> T max(T a, T b){

if(a>b) return a ;

else return b;}

Ví dụ 2: xây dựng khuôn hình tính tổng 3 số bất kỳ

template <class T1, class T2, class T3> T1 tong(T1 x, T2 y, T3 z)

{

return x+y+z ; }

Trang 7

1 Khuôn hình hàm

Gọi hàm từ khuôn hình hàm

<tên hàm>(đối số)

Tên hàm trùng tên khuôn hình hàm

Ví dụ:

int a,b ;

float x,y ;

max(a,b) ;

Trang 8

1 Khuôn hình hàm

Với khuôn hình hàm max:

int a,b;

max(a,b)

Khi đó chương trình dịch sẽ xác định:

-Kiểu của a,b là int nên kiểu của T cũng sẽ là int

-Phát sinh một hàm cụ thể từ khuôn hình hàm max

-Hàm max lúc này sẽ như sau:

int max(int a, int b)

{

if(a>b) return a ;

Trang 9

2 Khuôn hình lớp

Ví dụ: xây dựng lớp MT1 với:

Nhận xét:

•Số phần tử

•Mảng các phần tử kiểu: int, char, float, long

•Các phương thức: nhập, in, cộng, trừ

-Với mỗi kiểu dữ liệu của mảng sẽ có 1 lớp

-Các lớp này có chung các thao tác

-Chỉ kiểu dữ liệu của mảng là khác

 C++ cho phép xây dựng một mẫu của lớp, mẫu này có tham số để

ứng với mỗi giá trị của tham số sẽ phát sinh một lớp

Trang 10

2 Khuôn hình lớp

Khái niệm

Khai báo:

•Là một mẫu của lớp có các tham số là các kiểu dữ liệu (tham số

kiểu)

•Với mỗi giá trị của tham số kiểu sẽ phát sinh ra một thể hiện là một

lớp cụ thể (lớp khuôn hình)

template <class T1, class T2 > class <tên khuôn hình lớp>

{

Trang 11

2 Khuôn hình lớp

Ví dụ:

template <class T>

class MT1{

int spt;

T d[10];

public:

void nhap();

void in();

…}

Trang 12

2 Khuôn hình lớp

Định nghĩa phương thức

-Định nghĩa bên trong khai báo của khuôn hình như hàm

thông thừơng

- Định nghĩa bên ngoài khai báo

Ví dụ:

template <class T> void MT<T>::nhap()

{

Trang 13

2 Khuôn hình lớp

Sử dụng khuôn hình lớp

- Mỗi giá trị của tham số kiểu, chương trình dịch sẽ phát

sinh ra một lớp cụ thể

Cú pháp: <tên khuôn hình><kiểu>

Khai báo đối tựơng: <tên khuôn hình><kiểu> <tên biến>

Ví dụ:

MT<int> a;

MT<float> b;

MT<long> c;

Ngày đăng: 21/08/2012, 14:20

TỪ KHÓA LIÊN QUAN