30/09/2018, 19:44

Làm thế nào để tạo 1 mảng gồm n đối tượng trong C++

Mình có 1 class là HocSinh, giờ mình muốn tạo ra 1 danh sách gồm n học sinh, mình phải làm như thế nào ?

Khôi Trần viết 21:58 ngày 30/09/2018

như khái báo mảng bt thôi

Chung viết 21:48 ngày 30/09/2018
class HocSinh {
   private:
      int tuoi;
   public:
      HocSinh();
};

HocSinh::HocSinh(int i) {
   tuoi = i;
}

int main() {
   HocSinh HS(6) [10]; // Tạo 1 mảng 11 học sinh có tuổi = 6;
   return 0;
}

Có phải ý của bạn là thế này không ?
Mình viết theo kiểu này mà không có được.

Khôi Trần viết 21:53 ngày 30/09/2018

hàm ở class là khởi tạo không tham số hàm bên ngoài lại có tham số
còn khai báo thì HocSinh hs[10] thế thôi còn muốn là mặc định 6 tuổi thì để là khởi tạo không tham sô, còn không khai báo mảng song rồi gán từng pt mảng = 1 thằng hs nào đó

Chung viết 21:46 ngày 30/09/2018

Mình làm được rồi, mình khởi tạo hàm toàn cho thêm tham số vào.

BX136 viết 21:58 ngày 30/09/2018

muốn cấp phát 1 số lượng đối tượng không xác định trong quá trình chương trình hoạt động thì dùng vector
còn nếu xác định được là có nhiêu phần tử nhưng muốn nhập từ bàn phím thì dùng cấp phát động

//vd
class_type *arr = new class_type[ n ];
//với n ở đây là số lượng được nhập từ bàn phím, không cần để là giá trị cụ thể ngay từ đầu.
BX136 viết 21:58 ngày 30/09/2018

chính xác cần phải viết như sau:

class HocSinh {
   private:
      int tuoi;
   public:
      HocSinh( int i ){ tuoi = i; }
};


int main() {
   HocSinh *HS = new HocSinh(6)[10] ; // Tạo 1 mảng 11 học sinh có tuổi = 6;

// lúc này sẽ khai được 10 phần tử HS có tuổi bằng 6...
   return 0;
}
Bài liên quan
0