一道C++编程题?

一本书各章可以看成是一级标题,一级标题之下有若干二级标题,二级标题之下有若干三级标题。试用面向对象的程序设计思想设计一系列具有继承关系的标题类,包括标题序号、标题名称等数... 一本书各章可以看成是一级标题,一级标题之下有若干二级标题,二级标题之下有若干三级标题。试用面向对象的程序设计思想设计一系列具有继承关系的标题类,包括标题序号、标题名称等数据。然后通过动态数组实现一本书的篇章结构,并将书的章节目录打印在屏幕上。 展开
 我来答
羽衫之
2020-07-31
知道答主
回答量:8
采纳率:0%
帮助的人:3.3万
展开全部

你这个目录有点多,我没有写全,所以运行结果如下图,你可以自己在代码里补全。

#include <iostream>

#include <string>

#include <vector>

using namespace std;


class Title{//标题的基类

protected:

    string no;//序号

    string name;//名称

public:

    Title(string no1,string name1){

        no=no1;

        name=name1;

    }

    virtual void Print()=0;//打印本级标题 纯虚函数

};


class FirstTitle:public Title{//一级标题

public:

    FirstTitle(string no1,string name1):Title(no1,name1){}

    void Print(){

        cout<<no<<"  "<<name;

    }

};


class SecondTitle:public Title{//二级标题

public:

    SecondTitle(string no1,string name1):Title(no1,name1){}

    void Print(){

        cout<<"  "<<no<<"  "<<name;

    }

};


class ThirdTitle:public Title{//三级标题

public:

    ThirdTitle(string no1,string name1):Title(no1,name1){}

    void Print(){

        cout<<"    "<<no<<"  "<<name;

    }

};


int main(int argc, const char * argv[]) {

    vector<Title*> titles;

    Title *two=new FirstTitle("2","数据类型及表达式");

    Title *two_one=new SecondTitle("2.1","C++的数据类型"),*two_two=new SecondTitle("2.2","常量"),*two_three=new SecondTitle("2.3","变量"),*two_four=new SecondTitle("2.4","C++的运算符");

    Title *two_two_one=new ThirdTitle("2.2.1","什么是常量"),*two_two_two=new ThirdTitle("2.2.2","数值常量");

    //....

    titles.push_back(two);

    titles.push_back(two_one);

    titles.push_back(two_two);titles.push_back(two_two_one);titles.push_back(two_two_two);

    titles.push_back(two_three);

    titles.push_back(two_four);

    //....

    for(int i=0;i<titles.size();i++){

        titles[i]->Print();

        cout<<endl;

    }

    return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式