鉴于这种:
struct { int x; } ix; struct A { A() {}; int x; }; A ia;
以下哪一项是正确的?
a. ix is an object b. ia is an object c. both are objects d. both are not objects.
解决方法
其中许多答案都忽略了C标签.在C中,“对象是存储区域.[注意:函数不是对象,无论它是否以与对象相同的方式占用存储.”(C标准,1.8 / 1).
如果家庭作业问题是关于C的,那么对象的其他定义都不适用,甚至不是“任何可见或有形且形式相对稳定的东西”(dictionary.reference.com).它不是要求你对OOP原则的看法,它实际上是在询问ix和ia是否是变量.
既然它是作业,我不会告诉你答案,但请注意struct {int x; } ix;与struct ix {int x;不同} ;.
另一方面,如果家庭作业是关于OOP原则的,那么你可以用你的讲师给你的“对象”定义来解决问题.既然我不知道那是什么,我不能告诉你他认为正确的答案是什么……