m0_73565969 2023-04-01 15:19 采纳率: 53.8%
浏览 53
已结题

为什么会告诉我string不明确,应该怎么改


#pragma once
class Library
{
    Publication* publications[100]; //所有馆藏,假设馆藏上限为 100
    int total; //实际馆藏数
public:
    Library();
    void add(Publication& p); //添加新馆藏(此函数需完成)
    void show();// //输出所有馆藏的相应信息
};
//此函数可用于输出所有馆藏的相应信息
// 如: C++ zhengli
// Thames 2010/1/1
// DuZhe 2011/5/1 第 10 期
//注意不同种类出版物会输出不同种类的信息。
Library::Library():total(0)
{
    fill(publications, publications+100, nullptr);
}
void Library::add(Publication& p)
{
    publications[total++] = &p;
}
void Library::show()
{
    for (int i = 0; i < total; i++)
        publications[i]->print();
    cout << endl;
}
#pragma once
class Publication
{
public:
    virtual ~Publication() {};
    virtual void print() = 0;
};

#pragma once
class Book :public Publication
{
private:
    string name;
    string authorName;
public:
    Book();
    Book(string _n, string _an = "Unknown");
    ~Book();
    void print();
};
Book::Book() :name("Unknown"), authorName("Unknown"){}
Book::Book(string _n, string _an ) :name(_n), authorName(_an){}
Book::~Book(){}
void Book::print()
{
    cout << name << ' ' << authorName << endl;
}


#pragma once
class Newspaper :public Publication
{
private:
    string name;
    string publishTime;
public:
    Newspaper();
    Newspaper(string _n, string _pt = "Unknown");
    ~Newspaper();
    void print();
};
Newspaper::Newspaper() :name("Unknown"), publishTime("Unknown") {}
Newspaper::Newspaper(string _n, string _pt ) :name(_n), publishTime(_pt) {}
Newspaper::~Newspaper() {}
void Newspaper::print()
{
    cout << name << ' ' << publishTime << endl;
}


#pragma once
class Magzine :public Publication
{
private:
    string name;
    string publishTime;
    string number;
public:
    Magzine();
    Magzine(string _n, string _pt = "Unknown", string _nm = "Unknown");
    ~Magzine();
    void print();
};
Magzine::Magzine() :name("Unknown"), publishTime("Unknown"), number("Unknown") {};
Magzine(string _n, string _pt , string _nm )
    :name(_n), publishTime(_pt), number(_nm)
{}
Magzine::~Magzine(){}
void Magzine::print()
{
    cout << name << ' ' << publishTime << ' ' << number << endl;
}

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
#include"Publication.h"
#include"Book.h"
#include"Newspaper.h"
#include"Magzine.h"
#include"Library.h"

int main()
{

}

  • 写回答

2条回答 默认 最新

  • Mr.苏.C 2023-04-01 15:41
    关注

    成员私有

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月7日
  • 已采纳回答 7月7日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 问题遇到的现象和发生背景 360导航页面千次ip是20元,但是我们是刷量的 超过100ip就不算量了,假量超过100就不算了 这是什么逻辑呢 有没有人能懂的 1000元红包感谢费
  • ¥30 计算机硬件实验报告寻代
  • ¥15 51单片机写代码,要求是图片上的要求,请大家积极参与,设计一个时钟,时间从12:00开始计时,液晶屏第一行显示time,第二行显示时间
  • ¥15 用C语言判断命题逻辑关系
  • ¥15 原子操作+O3编译,程序挂住
  • ¥15 使用STM32F103C6微控制器设计两个从0到F计数的一位数计数器(数字),同时,有一个控制按钮,可以选择哪个计数器工作:需要两个七段显示器和一个按钮。
  • ¥15 在yolo1到yolo11网络模型中,具体有哪些模型可以用作图像分类?
  • ¥15 AD9910输出波形向上偏移,波谷不为0V
  • ¥15 淘宝自动下单XPath自动点击插件无法点击特定<span>元素,如何解决?
  • ¥15 曙光1620-g30服务器安装硬盘后 看不到硬盘