创建一个对象数组,数组的元素是学生对象,学生的信息包括学号,姓名,和成绩,在main
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个对象数组,数组的元素是学生对象,学生的信息包括学号,姓名,和成绩,在main相关的知识,希望对你有一定的参考价值。
创建一个对象数组,数组的元素是学生对象,学生的信息包括学号,姓名,和成绩,在main函数中将数组中所有成绩大于80分的学生信息显示出来
参考技术A #include<iostream>#include<string>
using namespace std;
class Student
public:
Student(string n,string a,int g)
number=n;
name=a;
grade=g;
void out()
if(grade>80)
cout<<number<<" "<<name<<" "<<grade<<endl;
private:
string number;
string name;
int grade;
;
int main()
Student s[5]=
Student("001","a",89),
Student("002","b",70),
Student("003","c",81),
Student("004","d",95),
Student("005","e",76),
;
for(int i=0;i<5;i++)
s[i].out();
return 0;
如何创建指针数组?
我正在尝试创建一个指针数组。这些指针将指向我创建的Student对象。我该怎么做?我现在拥有的是:
Student * db = new Student[5];
但是该数组中的每个元素都是学生对象,而不是指向学生对象的指针。谢谢。
答案
Student** db = new Student*[5];
// To allocate it statically:
Student* db[5];
另一答案
#include <vector>
std::vector <Student *> db(5);
// in use
db[2] = & someStudent;
这样做的好处是您不必担心删除已分配的存储 - 向量会为您执行此操作。
另一答案
指针数组被写为指针指针:
Student **db = new Student*[5];
现在的问题是,你只为五个指针保留了内存。因此,您必须遍历它们以自己创建Student对象。
在C ++中,对于大多数用例,使用std :: vector生活更容易。
std::vector<Student*> db;
现在你可以使用push_back()来添加新的指针,并使用[]来索引它。使用比**更清洁。
另一答案
void main()
{
int *arr;
int size;
cout<<"Enter the size of the integer array:";
cin>>size;
cout<<"Creating an array of size<<size<<"
";
arr=new int[size];
cout<<"Dynamic allocation of memory for memory for array arr is successful";
delete arr;
getch();enter code here
}
以上是关于创建一个对象数组,数组的元素是学生对象,学生的信息包括学号,姓名,和成绩,在main的主要内容,如果未能解决你的问题,请参考以下文章