题目
设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。A. 正确B. 错误
设Time是一个类,现有指针p的定义语句:const Time *p;则通过指针p不可以修改Time类对象的公有数据成员。
A. 正确
B. 错误
题目解答
答案
A. 正确
解析
步骤 1:理解指针声明
指针声明 "const Time *p;" 表示指针p指向一个Time类的对象,且该对象是常量。这意味着通过指针p不能修改它所指向的Time类对象的任何成员,无论这些成员是公有的还是私有的。
步骤 2:理解常量对象
常量对象的成员函数只能是常量成员函数,即它们不能修改对象的状态。因此,通过指针p访问的任何成员函数都必须是常量成员函数,不能修改对象的状态。
步骤 3:结论
由于指针p指向的是一个常量对象,因此通过指针p不能修改Time类对象的任何成员,包括公有数据成员。因此,题目中的说法是正确的。
指针声明 "const Time *p;" 表示指针p指向一个Time类的对象,且该对象是常量。这意味着通过指针p不能修改它所指向的Time类对象的任何成员,无论这些成员是公有的还是私有的。
步骤 2:理解常量对象
常量对象的成员函数只能是常量成员函数,即它们不能修改对象的状态。因此,通过指针p访问的任何成员函数都必须是常量成员函数,不能修改对象的状态。
步骤 3:结论
由于指针p指向的是一个常量对象,因此通过指针p不能修改Time类对象的任何成员,包括公有数据成员。因此,题目中的说法是正确的。