CẤP PHÁT ĐỘNG MẢNG 2 CHIỀU

     

chào các bạnmình bao gồm đoạn lịch trình sau:cấp phát động mảng 2 chiều, nhân 2 ma trận

#include using namespace std;class matrixprivate:int **array;int h, c;void allocated()array = new int *;for (int i = 0; i c = a.c;this->h = a.h;this->allocated();int temp;for (int i = 0; i array = a.array;/*temp = a.array;this->array = temp;*/}~matrix()for (int i = 0; i > h;cout > c;allocated();for (int i = 0; i > array;}}void output()for (int i = 0; i class có tài liệu là nhỏ trỏ, lúc nạp ông chồng toán tử nhân 2 ma trận, hàm nạp ông chồng trả về 1 đối tượng , chương trình có hàm destructor để giải phóng bé trỏ, nên khi biến nhất thời chứa kết quả nhân ma trận bị hủy (hàm nạp ông chồng toán tử chạy xong) thì đối tượng người tiêu dùng trả về sau thời điểm nhân cũng bị hủy, (hủy loại *array) -> lỗinên mình đã định nghĩa lại copy constructornhư sau

matrix(const matrix &a)this->c = a.c;this->h = a.h;this->allocated();int temp;for (int i = 0; i array = a.array;/*temp = a.array;this->array = temp;*/}nhưng làm cụ nào để mang giá trị của phần tử được biểu diễn bằng nhỏ trỏ **array nhỉkiểu như int *a, *b;thì (sao b) = (sao a);nhưng đây là con trỏ **a;

mình dùng 1 đổi thay tạm để đưa giá trị rồi gán vào thì vẫn k được

temp = a.array;this->array = temp;


Bạn đang xem: Cấp phát động mảng 2 chiều

hell6w9rld (HelloWorld) October 9, 2016, 3:50pm #2
ức hiếp me?

*




Xem thêm: Tên Thật Của Các Thành Viên Black Pink, Tên Thật Của Blackpink

nicklauri (Khoa NTA) October 9, 2016, 3:54pm #3

Để cho con trỏ trỏ đến bé trỏ thì chỉ cần: int **a, *b; b = blablabla; *a = b; /* hoặc a=&b; */

#include #include int main(int argc, char **argv) int **a, *b, c; a = (int **) malloc(100); b = (int *) malloc(100); c = 69; b = &c; *(b + sizeof(int) + 1) = 996; // 2 cái các cho ra tác dụng giống nhau // *a = b; a = &b; printf("a<0><0> = %d ", a<0><0>); printf("a<0><1> = %d ", *(a<0> + sizeof(int) + 1)); return 0;Output:

a<0><0> = 69a<0><1> = 996Ví dụ chắc hẳn hơi cực nhọc hiểu ha

*
Vậy chúng ta coi ở chỗ này tạm đi :3




Xem thêm: Cách Làm Vải Sấy Bằng Nồi Chiên Không Dầu Đơn Giản Ngay Tại Nhà

mình nhầm, ý mình là mình có 1 con trỏ **acon trỏ a này dùng để trỏ đến 1 mảng nhỏ trỏ, mỗi bé trỏ trỏ đến 1 mảng số nguyênmình sử dụng nó cấp phép động cho mảng 2 chiềuvà giờ để đưa giá trị của từng thành phần trong mảng thì làm như thế nào, trong chương trình trên mình khái niệm lại hàm copy constructor thì vẫn bị lỗi


Ugh… Mình ko rành OOP C++ yêu cầu mình chịu. Mình chỉ lấy ví dụ sinh sống C thôi :3 Nói chứ bạn đợi các pro khác đi, bài xích đăng chưa lâu mà

*