C++ 语言中,类的构造函数可以声明为私有(private)。
判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。
判断题中注意"一定""总是""所有""唯一"等绝对化表述通常是错误的。但也要结合具体知识点判断。
【考点】类成员访问控制|构造函数修饰符|面向对象基础
本题考查《GESP 大纲》第7级"面向对象基础"模块中的类成员访问控制。命题人卡住的是"构造函数默认是public"的惯性思维,7级考生必须明确构造函数也是成员函数,可显式指定访问权限。看到题先想C++语法:构造函数是类成员,默认public,但C++允许用private修饰。关键观察是"私有构造"不阻止对象创建,只是阻止外部直接实例化。通法:遇到"构造函数+访问修饰符"组合,直接判断语法合法性,不要纠结语义。选项B错在"默认public"不等于"只能public"。命题人利用"构造函数=默认构造函数"的误区,偷换概念。阴险细节:私有构造不影响构造函数执行,只是影响对象创建权限。如果你只背"构造函数默认public",就会误判。私有构造常用于单例模式,阻止外部new,但类内仍可构造。命题人视角:把"private"改成"default"或"protected",答案不变。若改成"构造函数必须public",就成反向题。刷到类似题,先问"考我语法合法性还是语义限制"。若问"私有构造能否被友元访问",答案又变。