Chúng ta hãy xem xét các lớp sauConstructor khởi Vs phân
class test1
{
private:
int a;
int b;
public:
test1():a(0),b(0){}
};
class test2
{
private:
int a;
int b;
public:
test2()
{
a=0;
b=0;
}
};
Bây giờ, tôi biết rằng test1() constructor
là đúng cách để khởi tạo các thành viên dữ liệu của một class
, bởi vì trong test2()
chúng tôi đang thực hiện nhiệm vụ và không khởi tạo. Câu hỏi của tôi là:
- Điều gì có thể xảy ra nếu chúng tôi thực hiện bài tập thay vì khởi tạo?
- Trình biên dịch không thực hiện nhiệm vụ trong trường hợp của nhà xây dựng
test1()
? Nếu không thì các khởi tạo này như thế nào?
Xem http://www.parashift.com/c++-faq/init-lists.html – hmjd
xem câu trả lời này ... http://stackoverflow.com/questions/13894415/c-creating-objects-initialization- danh sách-so-chuyển nhượng – Caribou