01/10/2018, 16:38
Hỏi về Constructor không tham số trong C++
Chào mọi người, mình có một vài thắc mắc về cách sử dụng constructor trong C++
Mình có một class như sau:
class ToaDo {
private:
int x, y;
public:
ToaDo(){
x = 0; y = 0;
}
}
Mình không hiểu sao phải dùng Constructor như thế này trong khi ta có thể khởi tạo giá trị cho 2 biến x, y ngay khi khai báo, tức là như class ở dưới:
class ToaDo{
private:
int x = 0, y = 0;
}
Vậy lợi ích của việc dùng Constructor là gì, mong các bạn giúp mình
Bài liên quan
Vì mình thấy trong nhiều ví dụ thì họ dùng constructor để khởi tạo giá trị, nhưng mình lại thấy khởi tạo ngay khi khai báo lại đỡ tốn thời gian viết code hơn nên mình hỏi câu này.
Không được phép luôn ấy chứ C++11 mới cho dùng, mặc dù vẫn là viết trong ctor.
Why can't we initialize class members at their declaration?
viết cách 2 đẹp hơn. C++ cũng khuyến khích: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
ko dùng thì có thể do ko xài modern C++ (C++11 trở lên)