Hỏi Về Hàm Khởi Tạo Trong Class - Programming - Dạy Nhau Học Trang chủ » Hàm Khởi Tạo Trong Class » Hỏi Về Hàm Khởi Tạo Trong Class - Programming - Dạy Nhau Học Có thể bạn quan tâm Hàm Khởi Tạo Trong Java Hàm Khởi Tạo Trong Php Hãm Không Cho đào Nở Hàm Không Làm Tròn Số Trong Excel Hàm Không Lấy Số âm Trong Excel Hỏi về hàm khởi tạo trong class programming c++ Tung_MR (Khuyết Danh) May 1, 2021, 9:08am #1 e có 1 class thisinh, trong đó có hàm khởi tạo , giải sử thisinh(x,y,z) trong hàm main e khai báo thisinh *ts ts= new thisinh[n] với n được nhập từ bàn phím, giả sử n đươc nhập là 5. bây giờ e muốn khởi tạo cho i=3 thì làm sao ạ, e làm như thế này theo cú pháp thì báo lỗi tại i, thisinh a[i](x,y,z) các ac có thể giải thích cho e được k ạ, e mới học class, e cảm ơn nhiều.!!! e thêm code của e #include<iostream> using namespace std; class thisinh { private: char *ten; float toan; float ly; float hoa; public: thisinh(); // khởi tạo không tham số thisinh(char *ht,float t,float l,float h); // hàm khởi tạo có tham số float xuattoan(); float xuatly(); float xuathoa(); float tong(); ~thisinh(); }; thisinh::thisinh() { ten = new char[50]; ten = ""; toan = 0; ly = 0; hoa = 0; } thisinh::thisinh(char *ht, float t, float l, float h) { ten = new char[50]; ten = ht; toan = t; ly = l; hoa = h; } float thisinh::xuattoan() { return toan; } float thisinh::xuatly() { return ly; } float thisinh::xuathoa() { return hoa; } float thisinh::tong() { return toan + ly + hoa; } thisinh::~thisinh() { delete [] ten; } int main() { thisinh *a; int n; float toan, ly, hoa; char *hoten; hoten = new char[50]; cout << "Nhap so luong thi sinh: "; cin >> n; cin.ignore(); a = new thisinh[n]; for (int i = 0; i < n; i++) { cout << "Nhap thong tin sinh vien thu " << i + 1 << " : " << endl; cout << "Nhap ten sinh vien: "; cin.getline(hoten, 50); cout << "Nhap lan luot diem toan, ly, hoa: "; cin >> toan >> ly >> hoa; thisinh a[i](hoten, toan, ly, hoa); } delete [] hoten; delete [] a; system("pause"); return 0; } rogp10 (rogp10) October 15, 2017, 5:38pm #2 Không được, phải for. 1 Like Dark.Hades (Ichiro) October 15, 2017, 5:57pm #3 Tung_MR: thisinh ai Bạn giải thích dòng này đi, mình không hiểu các biến bạn dùng. A là đối tượng đơn, chưa khởi tạo thì làm sao gọi [i] được?? 1 Like Tung_MR (Khuyết Danh) October 16, 2017, 2:48am #4 ý là mình đã for rồi bạn for (i=0; i<n;i++) thisinh a[i](x,y,z) Tung_MR (Khuyết Danh) October 16, 2017, 2:48am #5 mình đã khởi tạo ở ngoài hàm main rồi bạn. Dark.Hades (Ichiro) October 16, 2017, 3:11am #6 Tung_MR: a = new thisinh[n]; Ở dòng này bạn đã khai báo cho a giữ n object thisinh của construct thisinh() rồi, vậy nên bạn cần gán giá trị cho nó bằng tạo setter/getter, hoặc copy/move một object khác vào Tung_MR: thisinh a[i](hoten, toan, ly, hoa); Trong C++ (hay đa số các ngôn ngữ lập trình hiện nay) khi đã khai báo đối tượng rồi thì lúc gán giá trị không cần thêm kiểu dữ liệu cho nó nữa Tung_MR: a[i](hoten, toan, ly, hoa); //C++ chưa hỗ trợ/không hiểu kiểu viết __invoke như thế này 1 Like Tung_MR (Khuyết Danh) October 16, 2017, 4:40am #7 e cám ơn a nhiều ạ!!! DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Hàm Khởi Tạo Trong Class Hàm Khởi Tạo (constructor) Trong C++ Hàm Khởi Tạo Và Hàm Huỷ - Lập Trình Không Khó Hàm Khởi Tạo (constructor) Và Hàm Hủy (destructor) Của Lớp Trong OOP Hàm Khởi Tạo Và Hàm Hủy Trong Lập Trình Hướng đối Tượng - Freetuts [Tự Học C++] Constructors - Hàm Khởi Tạo Trong C++ » Khai Báo Hàm Khởi Tạo Trong Java – Constructor Declarations | TopDev Hàm Tạo (lập Trình Hướng đối Tượng) – Wikipedia Tiếng Việt Hàm Khởi Tạo (constructor) | CppDeveloper Tất Tần Tật Về Lập Trình Hướng Đối Tượng? (P3) - CodeLearn Khởi Tạo Phương Thức Khởi Tạo Trong C Sharp Bài 04: Hàm Khởi Tạo (constructor) Và Hàm Hủy (destructor) Kế Thừa Phương Thức Khởi Tạo Trong C++ | Codelearn Hàm Khởi Tạo Và Hàm Hủy - Quản Trị Máy Tính Lớp Trong Dart Khai Báo Và Sử Dụng Class