auto遍历array

const &auto json:array
需要加const限定符。

public:继承实战

以下是 C++ 中基类包含四个  string  成员、子类继承基类 的完整代码示例,包含构造函数、成员访问、继承权限等核心要点:
1. 基类定义(包含四个  string  成员)
cpp   
#include <iostream>
#include <string>
using namespace std;

// 基类:包含四个 string 成员
class BaseString {
protected:  // 子类需访问时用 protected,否则用 private
    string str1;
    string str2;
    string str3;
    string str4;

public:
    // 带参构造函数
    BaseString(string s1, string s2, string s3, string s4) 
        : str1(s1), str2(s2), str3(s3), str4(s4) {}

    // 成员函数:打印所有字符串
    void printStrings() const {
        cout << "str1: " << str1 << endl;
        cout << "str2: " << str2 << endl;
        cout << "str3: " << str3 << endl;
        cout << "str4: " << str4 << endl;
    }

    // 析构函数(基类建议虚析构,便于多态释放)
    virtual ~BaseString() = default;
};
2. 子类定义(继承基类并扩展)
cpp   
// 子类:公有继承 BaseString
class DerivedString : public BaseString {
private:
    string extraStr;  // 子类扩展成员

public:
    // 子类构造函数:必须调用基类构造函数初始化基类成员
    DerivedString(string s1, string s2, string s3, string s4, string extra)
        : BaseString(s1, s2, s3, s4), extraStr(extra) {}

    // 子类扩展函数:打印基类+子类成员
    void printAll() const {
        printStrings();  // 调用基类成员函数
        cout << "extraStr: " << extraStr << endl;
    }
};
3. 主函数测试
cpp   
int main() {
    // 创建子类对象
    DerivedString ds("A", "B", "C", "D", "Extra");
    
    // 调用子类函数
    ds.printAll();

    return 0;
}
核心要点
1. 继承权限: public  继承时,基类  public  成员在子类仍为  public , protected  成员仍为  protected ;若用  private  继承,基类成员在子类变为  private 。
2. 构造函数:子类构造函数必须通过初始化列表调用基类构造函数,否则基类默认构造函数会被调用(若未定义则编译报错)。
3. 虚析构函数:基类析构函数加  virtual ,确保通过基类指针删除子类对象时,析构函数能正确调用。

如果这篇文章对你有帮助,别忘了点个关注,我会持续分享更多开发避坑与实战干货,下次更新你就能第一时间看到啦~

 

更多推荐