Kolekcja obiektów klasy - przekazywanie argumentów itp.

0

Witam. Mam za zadanie zrobić dwie funkcje tylko już nie mam pomysłu jak.

Studenci* s = new Studenci(3);
	Student *s1 = new Student("Adam", "Jaruk", 82736372821, 1020, 22, 1, true);
	Student *s2 = new Student("Arnold", "Jaruk", 82736372823, 1021, 22, 1, true);
	Student *s3 = new Student("Arnold", "Jaruk", 82736372823, 1031, 22, 1, false);
	s->show(); // wyświetlenie kolekcji   
	s->add(s1); // dodanie kopii obiektów klasy Student do kolekcji s

To co mam aktualnie
.h

class Studenci {
	Student* s;
public:
	Studenci(int n = 0);
	Studenci(Student* s);
	void add(Student* s);
	void show();
	
};

.cpp

Studenci::Studenci(int n){}
Studenci::Studenci(Student * s){}

void Studenci::add(Student* s){
	Student* s1 =new Student(s);
}
void Studenci::show(){
	
	}

Samą klasę Student zrobiłem ale przy kolekcji już nie wiem jak przekazywać argumenty itp.
Mógłby ktoś pomóc w jaki sposób zrobić te funkcje? Musi być na wskaźnikach.

0

Zacznij od nieprzesłaniania nazw (s w parametrach metod przesłania Studenci::s).

Jeśli przyjmujesz wskaźnik, to dlaczego na jego podstawie próbujesz zaalokować kolejny obiekt w metodzie add? Po prostu dodaj go do listy obiektów - no chyba, że przejmujesz odpowiedzialność za zwolnienie po nim pamięci, ale wtedy przyjmuj referencję zamiast wskaźnika (przyjmowanie wskaźnika i przejmowanie za niego odpowiedzialności w takiej metodzie jest bardzo mylące)

1 użytkowników online, w tym zalogowanych: 0, gości: 1