🔴 想改元素,就得加 `&`
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)让容器里的三个数真的变成 2、4、6。
⚠️ 用 auto 省掉那一长串类型
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)键按顺序拼。
🔴 `virtual` 是写给谁的
要让基类指针调到派生类的实现,virtual 必须写在【0】。
⚠️ 基类的析构函数为什么要虚
基类的析构函数不写 virtual,隐患是【0】。
基类指针,调到各自的版本
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译) #include <iostream> struct Shape { virtual int area() const { return 0;
🔴 传值传出来的那个,只剩基类那一半
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)同一个对象,一个传值一个传引用: #include <iostream> struct Shape { virtual int area() c
让基类指针调到派生的版本
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)加一个词就好。
⚠️ 名字写错了谁来拦
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)把 area2 改成真正的重写。
🔴 别让它切片
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)两个数该一样。
⚠️ 一句话算完两种形状
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)三个数:几个形状、面积总和、最大的那个。