单选题
TestClass类定义如下: class TestClass {
private: intid; char gender;
char*phone; public: TestClass
():id(0),gender('#'),phone(NULL){) TestClass(int no,char
ge='#',char *ph=NULL) {id=no;gender=ge;phone=ph;}
}; 下面类对象定义语句中错误的是( )。
【正确答案】
B
【答案解析】[解析] B) 中由于有两个参数,所以其调用了第二个构造函数,第二个构造函数的两个缺省参数,在调用时,实参会按从左到右的顺序传给形参,所以第二个参数“11101111155”会传递给形参ge,而原型中的ge为字符型,实参为指向字符的指针,所以在编译时会出现错误。A) 与C) 都能够正确的实现参数的传递。对于D) ,由于在创建TestClass的实例myObji时,没有参数,所以其调用了第一个构造函数。