VicoTas
Câu hỏi
vietnamconnection vnconnection
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)
Manh Linh manhlinh 26/04/2013 21:01
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;
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Vinh . Chương trình chạy tốt trên Windows 9x nhưng trên Windows XP thì không xuất hiện hộp thoại theo yêu cầu?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Xin hỏi cách thay đổi hình dạng các button trên Form trong Borland Delphi 5.0?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

nophoto Cách thức viết chương trình Visual Basic sử dụng ngắt?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

nophoto Xin hỏi cách đọc dữ liệu từ file Excel, Text rồi đẩy vào database bằng ngôn ngữ ASP.NET?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

Đức Cảnh Làm thế nào để chương trình hiện ở System tray?

Đăng lúc: 21:01 - 26/04/2013 trong Lập trình

NgocUk Tôi muốn viết chương trình Assembly hiển thị giờ như đồng hồ điện tử nhưng gặp khó khăn trong việc cập nhật phút giây và thiết lập font chữ phóng to?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Lập trình giao diện Winform với VB.Net, làm sao để có được giao diện (button, textbox) giống như style của XP mà ko phụ thuộc vào theme của HĐH ?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Xin hướng dẫn cách hook bàn phím và thay thế ký tự gõ vào trong ngôn ngữ Delphi?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Mạnh Linh Lập trình bằng C/C++ for DOS, làm sao để chương trình chạy n lệnh cùng một lúc?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Xin hướng dẫn cách xử lý đọc mã vạch với Visual Foxpro?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Nguyễn Văn Siêu Xin hướng dẫn cách kết nối VC++ 6.0 và CSDL Oracle 8i?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Văn Tùng Xin hướng dẫn đoạn code C++ thực hiện thu âm thanh từ microphone?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Uk Khi DataEnvironment trong VB6 kết nối CSDL SQL thì đã có sẵn RecordSet hay chưa?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Xin hướng dẫn cách tạo một rubic trên đó có các ảnh ở mỗi mặt và có thể chuyển động được?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

nophoto Xin hướng dẫn cách tạo menu bằng lệnh trong VC++ 6.0, tôi mới bắt đầu lập trình C trên môi trường Win32?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Thu Trang Xin chỉ cách thể hiện công thức toán học trong lập trình C và PHP?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Lê Văn Tùng Xin hỏi cách lập trình giao tiếp với phần cứng trong Windows? Trực tiếp hay thông qua API?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Ngô Minh Tùng Để vẽ hình vuông trong VC++ thì phải làm những bước gì?

Đăng lúc: 21:00 - 26/04/2013 trong Lập trình

Đức Việt Xin hỏi cách chuyển ứng dụng viết bằng Java được soạn bằng môi trường EditPlus sang môi trường JBuilder?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

Link Sử dụng hàm nào trong C++, VB, JAVA ... để xác định được chuột và bàn phím có bấm nút?

Đăng lúc: 20:59 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip