有以下计划:
#include <iostream>
using namespace std;
class Base
{
public:
int f;
virtual void assign(){
f = 7;
}
};
class Hijo: public Base
{
public:
void assign()
{
//Insert solution here
}
};
int main(){
Hijo h;
h.assign();
printf("%d",h.f);
return 0;
}
在注释“//在此处插入解决方案”中,应包含一行指令,以使用赋值运算符(++,+ =,=,...)
为f赋值7 WITHOUT编辑:我复制代码时出错了。这两个地方都是7个。
答案 0 :(得分:3)
你应该写Base::assign();
答案 1 :(得分:1)
怎么样:
void assign()
{
int seven(7); memcpy(&f, &seven, sizeof(seven));
}
这显然是一项完全没用的练习,也不是很干净。但我认为它符合任务的标准。
答案 2 :(得分:0)
如果在两种情况下都应该7
,那么这样做:
class Hijo: public Base
{
public:
void assign()
{
Base::assign();
}
};