Я пытаюсь сделать что-то с C ++, и я новичок в этом:)
Я испробовал 1 программу класса, в которой содержатся сведения об ученике и распечатывается его вывод.
#include <iostream>
using namespace std;
#define MAX 10
class student
{
private:
char name[30];
int rollNo;
int total;
float perc;
public:
//member function to get student's details
void getDetails(void);
//member function to print student's details
void putDetails(void);
};
//member function definition, outside of the class
void student::getDetails(void){
cout << "Enter name: " ;
cin >> name;
cout << "Enter roll number: ";
cin >> rollNo;
cout << "Enter total marks outof 500: ";
cin >> total;
perc=(float)total/500*100;
}
//member function definition, outside of the class
void student::putDetails(void) {
cout << "Student details:\n";
cout << "Name:"<< name << ",Roll Number:" << rollNo << ",Total:" << total << ",Percentage:" << perc;
}
int main()
{
student std[MAX]; //array of objects creation
int n,loop;
cout << "Enter total number of students: ";
cin >> n;
for(loop=0;loop< n; loop++){
cout << "Enter details of student " << loop+1 << ":\n";
std[loop].getDetails();
}
cout << endl;
for(loop=0;loop< n; loop++) {
cout << "Details of student " << (loop+1) << ":\n";
std[loop].putDetails();
}
return 0;
}
Очень простой код, он отлично работает, и я могу дать ввод и распечатать вывод.
Теперь я хочу добавить новый объект Student во время выполнения, используя динамическое выделение памяти, и хочу добавить этот объект в существующий массив объектов (чтобы я мог получить самые высокие и самые низкие оценки любого студента)
Я знаю, что для этого нужно использовать оператор new
.
Но я не уверен, что может быть лучшим способом написать это решение.
Любая помощь будет высоко оценена.
Спасибо!