Lập trình

Lập trình

Chủ Nhật, 15 tháng 6, 2014

Vấn đề về cấp phát động cho con trỏ của private

Khi định nghĩa class như sau :
 class SinhVien{private : int tuoi = 18 // Điều này là sai , trong class của c++ không cho phép khởi tạo giá trị cho biến mà chỉ cho khởi tạo khi ở trong constructor

}

Đây là điều lý giải tại sao :
class SinhVien{
private : char * x; chú ý chỗ này
public : 
SinhVien(){x = new char [10]; } //chú ý chỗ này nữa
};

thì cái này chạy bình thường , nhưng khi mình cấp phát luôn cho thuộc tính char*x = new char [10]; thì nó lại đưa ra cảnh báo :[Warning] non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]


Nguồn tham khảo : congdongcviet.com

Không có nhận xét nào:

Đăng nhận xét