error C2078: 初始值设定项太多
#include<iostream>
#include<string.h>
using namespace std;
class Book
{
public:
Book();
Book(char Bookname[],double Price,int Number) ;
Book(Book & b);
~Book();
void Set(char Bookname[],double Price,int Number);
void Display();
void Borrow();
void Restore();
private:
char m_Bookname[100];
double m_Price;
int m_Number;
};
Book::Book()
{
char * strcpy(m_Bookname,"");
m_Price = 0;
m_Number = 0;
cout<<"调用了默认构造函数!\n";
}
Book::Book(char Bookname[],double Price,int Number)
{
strcpy(m_Bookname,Bookname);
m_Price = Price;
m_Number = Number;
cout<<"调用了带参数的构造函数!\n";
}
Book::Book(Book & b)
{
strcpy(m_Bookname,b.m_Bookname);
m_Price = b.m_Price;
m_Number = b.m_Number;
cout<<"调用复制构造函数!\n";
}
Book::~Book()
{
cout<<m_Bookname;
cout<<"调用了析构函数!\n";
}
void Book::Set(char Bookname[],double Price,int Number)
{
strcpy(m_Bookname,Bookname);
m_Price = Price;
m_Number = Number;
cout<<"调用了带参数的构造函数!\n";
}
void Book::Display()
{
cout<<"书名:"<<m_Bookname<<"\t 价格:"<<m_Price<<"\t 图书数目:"<<m_Number<<endl;
}
void Book::Borrow()
{
cout<<"借书前存书数量:"<<m_Number<<endl;
if(m_Number>0)
m_Number--;
else
{
cout<<"当前存书数量为0,不能借书!\n";
return;
}
cout<<"借书后存书数量:"<<m_Number<<endl;
}
void Book::Restore()
{
cout<<"还书前存书数量:"<<m_Number<<endl;
m_Number++;
cout<<"还书后存书数量:"<<m_Number<<endl;
}
void main()
{
Book b1;
Book b2("《我的青春谁做主》",20,3);
Book b3(b2);
b1.Display();
b2.Display();
b3.Display();
b1.Set("《奋斗》",25,10);
b1.Display();
b1.Borrow();
b1.Restore();
b2.Borrow();
b2.Restore();
}
Book::Book()
{
char * strcpy(m_Bookname,"");
m_Price = 0;
m_Number = 0;
cout<<"调用了默认构造函数!\n";
}
改为:拍雹悄
Book::Book()
{
strcpy(m_Bookname,"");//这里!这里!这里!这里!这袭渣里!
m_Price = 0;
m_Number = 0;
cout<<"调用了默认构造函数!\n"肆老;
}