error C2593: 'operator =' is ambiguous 跪求高手指点,十分感激,!!
#include<iostream>#include<string>#include<vector>#defineNUM100usingnamespacestd;stat...
#include <iostream>
#include <string>
#include <vector>
#define NUM 100
using namespace std;
static int count=0;
typedef struct
{
string _name; //书名
string _type; //类型
string _publisher; //出版社
}Book;
class BookMgr
{
public:
BookMgr();
BookMgr(string name,string type,string publisher);
~BookMgr();
bool insertBooks(Book book); //录入书
bool deleteBooks(string name);//删除书
void show();//显示信息
// vector<Book> getInfoOfPublisherAndType(string& name,string type);
private:
Book *books[NUM];
};
BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0;
books[i]->_type=0;
books[i]->_publisher=0;
}
}
BookMgr::BookMgr(string name,string type,string publisher)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=name;
books[i]->_type=type;
books[i]->_publisher=publisher;
}
}
BookMgr::~BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
delete[] books[i];
}
}
bool BookMgr::insertBooks(Book book)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=book._name;
books[i]->_type=book._type;
books[i]->_publisher=book._publisher;
return true;
}
return false;
}
bool BookMgr::deleteBooks(string name)
{
int i;
for (i=0;i<count;i++)
{
if(books[i]->_name==name)
{
delete[] books[i];
count--;
return true;
}
}
return false;
}
void BookMgr::show()
{
int i;
for (i=0;i<count;i++)
{
cout<<"书名:"<<books[i]->_name<<"类型:"<<books[i]->_type<<"出版社:"<<books[i]->_publisher<<endl;
}
}
int main()
{
BookMgr b1,b2("程序设计","理科","清华大学");
b1=b2;
b1.show();
b2.show();
return 0;
} 展开
#include <string>
#include <vector>
#define NUM 100
using namespace std;
static int count=0;
typedef struct
{
string _name; //书名
string _type; //类型
string _publisher; //出版社
}Book;
class BookMgr
{
public:
BookMgr();
BookMgr(string name,string type,string publisher);
~BookMgr();
bool insertBooks(Book book); //录入书
bool deleteBooks(string name);//删除书
void show();//显示信息
// vector<Book> getInfoOfPublisherAndType(string& name,string type);
private:
Book *books[NUM];
};
BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0;
books[i]->_type=0;
books[i]->_publisher=0;
}
}
BookMgr::BookMgr(string name,string type,string publisher)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=name;
books[i]->_type=type;
books[i]->_publisher=publisher;
}
}
BookMgr::~BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
delete[] books[i];
}
}
bool BookMgr::insertBooks(Book book)
{
int i=++count;
if(i<NUM)
{
books[i]->_name=book._name;
books[i]->_type=book._type;
books[i]->_publisher=book._publisher;
return true;
}
return false;
}
bool BookMgr::deleteBooks(string name)
{
int i;
for (i=0;i<count;i++)
{
if(books[i]->_name==name)
{
delete[] books[i];
count--;
return true;
}
}
return false;
}
void BookMgr::show()
{
int i;
for (i=0;i<count;i++)
{
cout<<"书名:"<<books[i]->_name<<"类型:"<<books[i]->_type<<"出版社:"<<books[i]->_publisher<<endl;
}
}
int main()
{
BookMgr b1,b2("程序设计","理科","清华大学");
b1=b2;
b1.show();
b2.show();
return 0;
} 展开
1个回答
展开全部
原因:
Book *books[NUM];
BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0; //这里books[i]未初始化,没有指向任何实实在在的结构体对象
books[i]->_type=0;
books[i]->_publisher=0;
}
}
请先用new申请到NUM个Book类型的空间,再让books指向它,然后再做清0处理
Book *books[NUM];
BookMgr::BookMgr()
{
int i;
for (i=0;i<NUM;i++)
{
books[i]->_name=0; //这里books[i]未初始化,没有指向任何实实在在的结构体对象
books[i]->_type=0;
books[i]->_publisher=0;
}
}
请先用new申请到NUM个Book类型的空间,再让books指向它,然后再做清0处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询