轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
🔴 把"拥有"和"借看"两个接口都写对
👁️ 2 人浏览
💬 0 人评论
❤️ 添加收藏
(本条路线统一用
g++ -std=c++17 -O0 -Wall
编译)
提交你的答案
请登录后提交答案。
去登录
← 拥有的和看的,各用各的类型
🔴 这个空析构函数,代价比看上去大 →
更多题目
改成"你好,有词"
输出"100 分"
把年龄改成 20
输出学习天数 30
修复:给文字加引号
修复:补上右括号
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
#include <iostream> #include <memory> #include <vector> struct Res { static int made, gone; int v; explicit Res(int x) : v(x) { made++; } ~Res() { gone++; } }; int Res::made = 0; int Res::gone = 0; class Bag { public: /* TODO: 放进来一个(用 make_unique)*/ void add(int v) { (void)v; } /* TODO: 借出去看一眼 —— 所有权不许动,越界要交回空 */ const Res *peek(std::size_t i) const { (void)i; return nullptr; } int size() const { return static_cast<int>(items_.size()); } private: std::vector<std::unique_ptr<Res>> items_; }; int main() { int owed = 0, n = 0, first = 0, none = 0; { Bag b; b.add(10); b.add(20); n = b.size(); first = (b.peek(0) != nullptr) ? b.peek(0)->v : -1; none = (b.peek(9) == nullptr); } owed = Res::made - Res::gone; std::cout << n << "/" << first << "/" << none << "/" << owed << "\n"; return 0; }
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论