【牛客带你学编程C++方向】项目练习第6期(截止5.2)
C++方向活动帖:【牛客带你学编程】【C++方向】0基础小白入门培养计划!
牛客带你学编程活动总贴:【牛客带你学编程】0基础小白入门培养计划!
C++项目练习:第6期
练习时间:4月16日-5月2日(2周,劳动节相应后延)
活动规则:
- 每一期一个项目,届时会开新帖发布
- 学员直接将答案提交到该贴评论区即可
- 两周后,公布导师参考答案
- 导师评选出当期最佳代码(将设置为精彩回复)
奖励:牛客大礼包一份(牛客定制水杯 牛客定制笔 牛客定制程序员徽章 滑稽抱枕)
参与方式:直接将你的代码回复到本帖评论区
----------------------------------------------------
本期题目:
给定接口,使用继承编写代码,通过测试
#include <string>
#include <iostream>
#include <assert.h>
using std::string;
using std::cout;
using std::endl;
class Subject {
public:
virtual string Name() = 0;
};
void fillObjects(Subject *o[]) {
//fill Calculus, English, Algebra, C++ Language, Physics
//o[0] = new Calculus;
//o[1] = new English;
//o[2] = new Algebra;
//o[3] = new Cpp;
//o[4] = new Physics;
}
int main(){
Subject *o[5];
fillObjects(o);
assert(o[0]->Name() == "Calculus");
assert(o[1]->Name() == "English");
assert(o[2]->Name() == "Algebra");
assert(o[3]->Name() == "C++ Language");
assert(o[4]->Name() == "Physics");
cout << "pass!!!" << endl;
return 0;
}
参与方式:直接将你的代码回复到本帖评论区
查看13道真题和解析