30/09/2018, 22:12
Về một phần của class trong C++
Mình có đoạn chương trình mắc lỗi sau nhờ bạn nào có hiểu biết về nó thì giải thích giúp mình:
class Students {
private: char name[15];
int age;
Students *arr;//khai bao mang class Students
public:
Students() {
arr = new Students[3];//cap phat vung nho cho mang nay.-->ERROR!--->Why? (Bạn nào nhiệt tình thì giúp mình giải thích luôn cơ chế cấp phát này nhé. Thanks guys)
age = 0;
strcpy(name , "");
}
}
Bài liên quan
Failed bởi vì khi bạn khai báo arr như thế, thì chương trình sẽ tự động gọi tạo các đối tượng Students cho arr luôn ngay khi bạn New 1 Students trong chương trình chính, tức sẽ tự gọi lại 3 lần constructor cho khởi tạo arr, mà mỗi đôi tượng Students con lại tiếp tục tạo ra Students con cho arr của chính nó nữa, bạn thử tượng xem số lượng đối tượng được tạo ra sẽ khủng khiếp đến như thế nào, siêu máy tính chắc cũng không thể chịu nổi
gọi 3 hàm tạo tạo 3 students()
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
Cứ mỗi hàm tạo đựoc gọi lại gọi thêm 3 hàm tạo tạo ra 3 student khác
…
cái ct này cấp phát vô hạn cái class students lun. cái mt nào chịu nổi nhể
Ừ nhỉ.
Ha ha ha thế mà nghĩ mãi, đúng là một con số bất bại constructor. Thank guys!