Tôi có một câu hỏi: constructor nào được sử dụng khi bạn tạo một thể hiện của một lớp với ClassName instance()
trong C++?Tạo một thể hiện của một lớp với()
Ví dụ:
#include <iostream>
using namespace std;
class Test
{
private:
Test()
{
cout << "AAA" << endl;
}
public:
Test(string str)
{
cout << "String = " << str << endl;
}
};
int main()
{
Test instance_1(); // instance_1 is created... using which constructor ?
Test instance_2("hello !"); // Ok
return 0;
}
Cảm ơn!
Đó là những gì tôi định nói, nhưng bạn đã đánh tôi với nó. Đây là C++ phân tích cú pháp vexing nhất (http://en.wikipedia.org/wiki/Most_vexing_parse). –
phân tích cú pháp vexing là một tên rất thích hợp! và các câu hỏi trong thẻ này http://stackoverflow.com/questions/tagged/most-vexing-parse là một bằng chứng tuyệt vời. – tomasz