64,637
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class student
{
public:
student(int id,char *name)
{
//cout<<"student(int id,char *name)"<<endl;
m_id = id;
strcpy(m_name,name);
}
student()
{
cout<<"student()"<<endl;
m_id = 0;
strcpy(m_name,"");
}
student& operator=(const student& s)
{
cout<<"const student& operator=(const student& s)"<<endl;
m_id = s.m_id+100;
strcpy(m_name,s.m_name);
return *this;
}
student(const student& s)
{
cout<<"s.m_id = "<<m_id<<"\ts.m_name = "<<s.m_name<<endl;
cout<<"m_id = "<<m_id<<"\tm_name = "<<m_name<<endl;
m_id = s.m_id+10;
strcpy(m_name,s.m_name);
}
friend ostream& operator << (ostream & of,student &stu)
{
of<< stu.m_id<<'\t'<<stu.m_name<<endl;
return of;
}
private:
int m_id;
char m_name[20];
};
int main()
{
vector<student> stlist;
stlist.push_back(student(1,"wang1"));
/*
stlist.push_back(student(2,"wang2"));
stlist.push_back(student(3,"wang3"));
stlist.push_back(student(4,"wang4"));
stlist.push_back(student(5,"wang5"));
*/
cout<<"=============================="<<endl;
vector<student> stulist = stlist;
vector<student>::iterator it = stulist.begin();
for( ; it!=stulist.end(); it++)
{
cout<<*it<<endl;
}
return 0;
}
student(const student& s)
{
*this = s;
}
不行吗?