刚入门C++,请问下面这个问题怎么解决,下面是源代码

#include<iostream>usingnamespacestd;classBook{private:charbookname;doubleprice;intnum... #include<iostream>using namespace std;class Book{private: char bookname; double price; int number;public: void book(char a,double b,int c) { this->bookname=a; this->price=b; this->number=c; } void dispaly() { cout<<bookname<<" "<<price<<" "<<number<<endl; } void borrow() { this->number--; } void restore() { this->number++; }}int main(){ char name[20]="C++"; Book book1(name,23.5,3); strcpy(name,"Data Structure"); Book book2(name,28.8,7); book1.borrow(); book1.display(); book2.restore(); book2.display(); return 0;} 展开
 我来答
广兴言50
2019-03-25 · 贡献了超过187个回答
知道答主
回答量:187
采纳率:16%
帮助的人:15.3万
展开全部
同意以上代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
three土
2019-03-25
知道答主
回答量:4
采纳率:0%
帮助的人:1.9万
展开全部
#include<iostream>
using namespace std;
class Book
{
    private: 
    string bookname; 
    double price; 
    int number;
    public: 
    Book(string a,double b,int c) 
    { 
        this->bookname=a; 
        this->price=b; 
        this->number=c; 
    } 
    void display() 
    { 
        cout<<bookname<<" "<<price<<" "<<number<<endl; 
    } 
    void borrow() 
    { 
        this->number--; 
    } 
    void restore() 
    { 
        this->number++; 
    }
};
int main()

    string name = "C++"; 
    Book book1(name,23.1,3); 
    name+="Data Structure";
    //strcpy(name,"Data Structure"); 
    Book book2(name,28.8,7); 
    book1.borrow(); 
    book1.display(); 
    book2.restore(); 
    book2.display(); 
    cout << name << endl;
    return 0;
}

记得给个赞同、推荐

更多追问追答
追问

这是题目要求,必须要定义一个数组存储name ……

追答
#include<iostream>
#include <cstring>
using namespace std;
class Book
{
    private: 
    char * bookname; 
    double price; 
    int number;
    public: 
    Book(char * a,double b,int c) 
    { 
        this->bookname=a; 
        this->price=b; 
        this->number=c; 
    } 
    void display() 
    { 
        cout<<bookname<<" "<<price<<" "<<number<<endl; 
    } 
    void borrow() 
    { 
        this->number--; 
    } 
    void restore() 
    { 
        this->number++; 
    }
};
int main()

    char name[20] = "C++"; 
    Book book1(name,23.1,3); 
    //name+="Data Structure";
    strcpy(name,"Data Structure"); 
    Book book2(name,28.8,7); 
    book1.borrow(); 
    book1.display(); 
    book2.restore(); 
    book2.display(); 
    //cout << name << endl;
    return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2019-03-26 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1522万
展开全部
#include<iostream>
#include<cstring>

using namespace std;

class Book
{
public:
Book(char *nm,float pr,int num):price(pr),number(num)
{
bookname=new char[strlen(nm)+1];
strcpy(bookname,nm);
}
~Book()
{
if(bookname)
delete [] bookname;
}
void borrow()
{
if(number>0)
{
number--;
cout<<number<<endl;
}
else
cout<<"当前存书数量已为0"<<endl;
}
void restore()
{
number++;
cout<<number<<endl;
}
void display() const
{
cout<<bookname<<" "<<price<<" "<<number<<endl;
}
private:
char *bookname;
float price;
int number;
};

int main()
{
char name[20]="C++";
Book book1(name,23.5,3);
strcpy(name,"Data Structure");
Book book2(name,28.8,7);
book1.borrow();
book1.display();
book2.restore();
book2.display();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仁素欣00F
2019-03-25 · TA获得超过188个赞
知道小有建树答主
回答量:258
采纳率:66%
帮助的人:45.4万
展开全部
有如下错误:
①每个打印(print)函数少了右大括号}。
②定义的字符串要初始化。
③Postgrad p(d);Data d(na);Student s(i);Teacher t(sa);这句话中的Data d(na)的对象d的名称与字符串变量重名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式