Cho mình hỏi tại sao mình khai báo như vậy chương trình lại chạy êm xuôi vậy:
#include <string>
#include <iostream>
class Employee
{
private:
int m_id;
std::string m_name;
public:
Employee(int id=0,const std::string &name="John"):
m_id(id),m_name(name)
{
std::cout<<"Employee "<<m_name<<" created.\n";
}
Employee(const std::string &name): Employee(0,name){}
};
int main()
{
Employee employee;
}
Mình nghĩ biến employee được khai báo không có đối số thì phải báo lỗi chứ, do compiler đã không tạo default constructor trong trường hợp này.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?