尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

[C++]C++继承学习笔记:从基类定义到子类扩展的示例

[C++]C++继承学习笔记:从基类定义到子类扩展的示例 auto遍历arrayconst auto json:array需要加const限定符。public:继承实战以下是 C 中基类包含四个 string 成员、子类继承基类 的完整代码示例包含构造函数、成员访问、继承权限等核心要点1. 基类定义包含四个 string 成员cpp#include iostream#include stringusing namespace std;// 基类包含四个 string 成员class BaseString {protected: // 子类需访问时用 protected否则用 privatestring 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// 子类公有继承 BaseStringclass 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. 主函数测试cppint main() {// 创建子类对象DerivedString ds(A, B, C, D, Extra);// 调用子类函数ds.printAll();return 0;}核心要点1. 继承权限 public 继承时基类 public 成员在子类仍为 public protected 成员仍为 protected 若用 private 继承基类成员在子类变为 private 。2. 构造函数子类构造函数必须通过初始化列表调用基类构造函数否则基类默认构造函数会被调用若未定义则编译报错。3. 虚析构函数基类析构函数加 virtual 确保通过基类指针删除子类对象时析构函数能正确调用。如果这篇文章对你有帮助别忘了点个关注我会持续分享更多开发避坑与实战干货下次更新你就能第一时间看到啦
返回列表