一份改对了的类
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)注意类定义末尾那个分号:
#include <iostream>
#include <string>
#include <vector>
class Bag {
public:
explicit Bag(std::string name) : name_(std::move(name)) {}
void add(int v) { xs_.push_back(v); }
int total() const {
int s = 0;
for (int v : xs_) s += v;
return s;
}
const std::string &name() const { return name_; }
private:
std::string name_;
std::vector<int> xs_;
}; /* ← 类定义后面这个分号,C++ 里不能少 */
int main() {
Bag b("box");
b.add(3);
b.add(4);
std::cout << b.name() << "/" << b.total() << "\n";
return 0;
}
全部评论