1 2 3 4 5 6 7 8 9 10 |
//Листинг #1 Массив объектов class Student{ char name[100]; //имя unsigned age; //возраст }; int main(){ Student s[10]; //массив из 10 элементов, тип каждого из которых Student } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//Листинг #2 #include <cstring> /*НАШ КЛАСС*/ class Student{ char name[256]; //имя unsigned age; //возраст public: Student(const char* name="unknown", unsigned age=0); Student(char*, unsigned); //Конструктор с двумя параметрами const char* get_name() const {return name;} //метод, отдающий имя unsigned get_age() const {return age; } //метод, отдающий возраст }; Student::Student(const char* name_, unsigned age_){ strcpy(name, name_); //записываем пришедшее значение в данное класса age = age_; //записываем пришедшее значение в данное класса } int main(){ Student s1; //Можно создавать по одиночке, но это не очень удобно Student s2("wasia"); Student s3("wasia", 100); Student stud_arr[3]; //Создавать массив лучше } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
//Листинг #3 #include <cstring> #include <iostream> /*НАШ КЛАСС*/ class Student{ char name[256]; //имя unsigned age; //возраст public: Student(const char* name="unknown", unsigned age=0); Student(char*, unsigned); //Конструктор с двумя параметрами const char* get_name() const {return name;} //метод, отдающий имя unsigned get_age() const {return age; } //метод, отдающий возраст }; Student::Student(const char* name_, unsigned age_){ strcpy(name, name_); //записываем пришедшее значение в данное класса age = age_; //записываем пришедшее значение в данное класса } int main(){ using std::cout; Student stud_arr[3]; //Создавать массив лучше stud_arr[0] = Student("Wasia", 12); stud_arr[1] = Student("Petia", 14); stud_arr[2] = Student("Olesa", 16); cout << stud_arr[0].get_name() << '\n'; cout << stud_arr[1].get_name() << '\n'; cout << stud_arr[2].get_name() << '\n'; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
//Листинг #4 #include <cstring> #include <iostream> /*НАШ КЛАСС*/ class Student{ char name[256]; //имя unsigned age; //возраст public: Student(const char* name="unknown", unsigned age=0); Student(char*, unsigned); //Конструктор с двумя параметрами const char* get_name() const {return name;} //метод, отдающий имя unsigned get_age() const {return age; } //метод, отдающий возраст }; Student::Student(const char* name_, unsigned age_){ strcpy(name, name_); //записываем пришедшее значение в данное класса age = age_; //записываем пришедшее значение в данное класса } int main(){ using std::cout; const size_t max_size = 3; Student stud_arr[max_size] = { //Инициализация Student("Wasia", 12), Student("Petia", 14), Student("Olesa", 16) }; for (size_t i=0; i<max_size; i++) { //массивы обычно обходят циклом, поэтому обойдём так, а не по одному cout << stud_arr[i].get_name(); //вытаскиваем имя cout << " "; cout << stud_arr[i].get_age(); //вытаскиваем возраст cout << '\n'; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
//Листинг #5 #include <cstring> #include <iostream> /*НАШ КЛАСС*/ class Student{ char name[256]; //имя unsigned age; //возраст public: Student(const char* name="unknown", unsigned age=0); Student(char*, unsigned); //Конструктор с двумя параметрами const char* get_name() const {return name;} //метод, отдающий имя unsigned get_age() const {return age; } //метод, отдающий возраст }; Student::Student(const char* name_, unsigned age_){ strcpy(name, name_); //записываем пришедшее значение в данное класса age = age_; //записываем пришедшее значение в данное класса } int main(){ using std::cout; const size_t max_size = 3; Student stud_arr[max_size] = { //Инициализация Student(), //конструктор по умолчанию Student("Petia"), //конструктор с одним параметром Student("Olesa", 16) //конструктор с двумя параметрами }; for (size_t i=0; i<max_size; i++) { //массивы обычно обходят циклом, поэтому обойдём так, а не по одному cout << stud_arr[i].get_name(); //вытаскиваем имя cout << " "; cout << stud_arr[i].get_age(); //вытаскиваем возраст cout << '\n'; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
//Листинг #6 #include <cstring> #include <iostream> /*НАШ КЛАСС*/ class Student{ char name[256]; //имя unsigned age; //возраст public: Student(const char* name="unknown", unsigned age=0); //<--- ниже имеется в виду вот этот прототип конструктора Student(char*, unsigned); //Конструктор с двумя параметрами const char* get_name() const {return name;} //метод, отдающий имя unsigned get_age() const {return age; } //метод, отдающий возраст }; Student::Student(const char* name_, unsigned age_){ strcpy(name, name_); //записываем пришедшее значение в данное класса age = age_; //записываем пришедшее значение в данное класса } int main(){ using std::cout; const size_t max_size = 6; //увеличили массив Student stud_arr[max_size] = { //Инициализация Student(), //конструктор по умолчанию Student("Petia"), //конструктор с одним параметром Student("Olesa", 16) //конструктор с двумя параметрами }; for (size_t i=0; i<max_size; i++) { //массивы обычно обходят циклом, поэтому обойдём так, а не по одному cout << stud_arr[i].get_name(); //вытаскиваем имя cout << " "; cout << stud_arr[i].get_age(); //вытаскиваем возраст cout << '\n'; } } |
❗ ❗ ❗ ❗ ❗ ❗