C++中如何用Vector保存类 ,如何对类中对象进行cin的赋值操作?谢谢

2025-01-05 15:14:51
推荐回答(5个)
回答1:

#include
#include
using namespace std;

////////////////////日期类
class Date
{
int y,m,d;
public:
Date(){} //无参构造函数
~Date(){} //析构函数
void Input() //日期输入函数
{
cout<<"请输入出生日期的年:";
cin>>y;
cout<<"请输入生日期的月:";
cin>>m;
cout<<"请输入生日期的日:";
cin>>d;
}
void Print() //日期输出函数
{cout<};

////////////////////学生类
class Student
{
int number;
char name[20];
Date birthday;
public:
Student(){} //无参构造函数
~Student(){} //析构函数
void Input(Date &d) //学生类输入函数
{
cout<<"请输入学号:";
cin>>number;
cout<<"请输入名字:";
cin>>name;
d.Input(); //调用Date类的Input()函数
}
void Print(Date &d) // 学生类输出函数
{cout<<"学号:"<};

////////////////////学生集合类
class Students
{
vector V; //定义学生类向量!!!!!!!!!!!!!
public:
Students(){} //无参构造函数
~Students(){} //析构函数
void Append(Student &s) //学生集合类的添加函数,即往学生集合类中输入的函数,把学生信息添加到学生集合类中
{V.push_back(s);}
void Print(Students &st,Date &d) // 学生集合类输出函数
{
for(int i=0; i V[i].Print(d);
} //调用Student类的Print()函数
};

void main()
{
Student s1,s2; Date d;
Students st;
s1.Input(d); s1.Print(d); //学生s1信息的输入、输出
st.Append(s1); //把学生s1的信息添加到学生集合类中
cout< s2.Input(d); s2.Print(d); //学生s2信息的输入、输出
st.Append(s2); //把学生s2的信息添加到学生集合类中
cout< st.Print(st,d); // 学生集合类中所有学生信息的输出
}

希望对你有帮助

回答2:

#include

#include

using
namespace
std;
////////////////////日期类
class
Date
{
int
y,m,d;
public:
Date(){}
//无参构造函数
~Date(){}
//析构函数
void
Input()
//日期输入函数
{
cout<<"请输入出生日期的年:";
cin>>y;
cout<<"请输入生日期的月:";
cin>>m;
cout<<"请输入生日期的日:";
cin>>d;
}
void
Print()
//日期输出函数
{cout<};
////////////////////学生类
class
Student
{
int
number;
char
name[20];
Date
birthday;
public:
Student(){}
//无参构造函数
~Student(){}
//析构函数
void
Input(Date
&d)
//学生类输入函数
{
cout<<"请输入学号:";
cin>>number;
cout<<"请输入名字:";
cin>>name;
d.Input();
//调用Date类的Input()函数
}
void
Print(Date
&d)
//
学生类输出函数
{cout<<"学号:"<名字:"<生日:";
d.Print();}
//调用Date类的Print()函数
};
////////////////////学生集合类
class
Students
{
vector
V;
//定义学生类向量!!!!!!!!!!!!!
public:
Students(){}
//无参构造函数
~Students(){}
//析构函数
void
Append(Student
&s)
//学生集合类的添加函数,即往学生集合类中输入的函数,把学生信息添加到学生集合类中
{V.push_back(s);}
void
Print(Students
&st,Date
&d)
//
学生集合类输出函数
{
for(int
i=0;
ii++)
V[i].Print(d);
}
//调用Student类的Print()函数
};
void
main()
{
Student
s1,s2;
Date
d;
Students
st;
s1.Input(d);
s1.Print(d);
//学生s1信息的输入、输出
st.Append(s1);
//把学生s1的信息添加到学生集合类中
cout<s2.Input(d);
s2.Print(d);
//学生s2信息的输入、输出
st.Append(s2);
//把学生s2的信息添加到学生集合类中
cout<st.Print(st,d);
//
学生集合类中所有学生信息的输出
}
希望对你有帮助

回答4:

#include
#include
using
namespace
std;
////////////////////日期类
class
Date
{
int
y,m,d;
public:
Date(){}
//无参构造函数
~Date(){}
//析构函数
void
Input()
//日期输入函数
{
cout<<"请输入出生日期的年:";
cin>>y;
cout<<"请输入生日期的月:";
cin>>m;
cout<<"请输入生日期的日:";
cin>>d;
}
void
Print()
//日期输出函数
{cout<
>number;
cout<<"请输入名字:";
cin>>name;
d.Input();
//调用Date类的Input()函数
}
void
Print(Date
&d)
//
学生类输出函数
{cout<<"学号:"<
V;
//定义学生类向量!!!!!!!!!!!!!
public:
Students(){}
//无参构造函数
~Students(){}
//析构函数
void
Append(Student
&s)
//学生集合类的添加函数,即往学生集合类中输入的函数,把学生信息添加到学生集合类中
{V.push_back(s);}
void
Print(Students
&st,Date
&d)
//
学生集合类输出函数
{
for(int
i=0;
i
评论
0
0
0
加载更多

回答5:

对该类进行>>符号重载就可以了,不知道你有没有学过了?