Câu hỏi

26/04/2013 21:01
Cách khai báo biến kiểu CArray<SHAPE,SHAPE> trong lập trình MFC (Visual C++), trong đó SHAPE là 1 struct (kiểu do người dùng định nghĩa)?
Danh sách câu trả lời (1)

Trong lập trình hướng đối tượng, viết 1 phần mềm ứng dụng là định nghĩa n class đối tượng khác nhau cấu thành ứng dụng đó. Việc định nghĩa từng class phải do người lập trình thực hiện, nếu ứng dụng chứa quá nhiều đối tượng thì công sức viết phần mềm sẽ nhiều lên. Để giúp người lập trình giảm nhẹ việc định nghĩa nhiều class có tính chất chung nào đó (thí dụ cấu trúc ngữ nghĩa và chức năng sử dụng), Visual C++ giới thiệu khả năng "template". Template là 1 class tổng quát hóa (generalization - hay class có tham số), nó cho phép người lập trình định nghĩa class rất dễ dàng thông qua hoạt động "instantiation". Thí dụ "CArray" là 1 template đã được viết sẵn trong MFC của Microsoft, nó cho phép người lập trình dễ dàng tạo ra các class cụ thể cần cho ứng dụng của mình, thí dụ class miêu tả 1 dãy n phần tử nguyên, class miêu tả k phần tử chuỗi hay class miêu tả m phần tử bất kỳ. Bạn có thể dùng template ở bất kỳ nơi nào đòi hỏi 1 kiểu dữ liệu, thí dụ dùng template để định nghĩa kiểu dữ liệu cho biến, cho tham số...
Thí dụ nếu bạn đã định nghĩa 1 kiểu struct tên là "Shape" và bạn muốn định nghĩa 1 biến m_shapeArray là 1 dãy gồm n phần tử Shape, bạn có thể dùng phát biểu định nghĩa biến như sau:
// để dùng template, bạn phải include file afxtempl.h
#include
...
// phát biểu định nghĩa biến m_shapeArray: 1 dãy chứa n phần tử Shape
CArray m_shapeArray;
Thí dụ nếu bạn đã định nghĩa 1 kiểu struct tên là "Shape" và bạn muốn định nghĩa 1 biến m_shapeArray là 1 dãy gồm n phần tử Shape, bạn có thể dùng phát biểu định nghĩa biến như sau:
// để dùng template, bạn phải include file afxtempl.h
#include
...
// phát biểu định nghĩa biến m_shapeArray: 1 dãy chứa n phần tử Shape
CArray
Trả lời câu hỏi
Câu hỏi lĩnh vực Lập trình
Rao vặt Siêu Vip