klasa/konstruktor

0

Zad: Stworzyć klase wyposazona w dwa konstruktory gdzie w jednym konstruktorze ma sie wywolywac drugi (delegowanie). Wewnątrz konstruktora stworzyć wyzerowaną tablice dynamiczną a nastepnie zdefiniowac metode do pobierania oraz wstawiania wartosci w konkretny indeksie.

Nie dziala wczytywanie + jak poprawic zapis konstruktorow?

#include <iostream>
using namespace std;

class Z2 {

	int *tab;
	int arrsize;
	int y; //switch
	char c; //switch

public:

	Z2(int b, int size = 3) : //int b aby konstruktor byl rozpoznawalny
			Z2() {
		arrsize = size;
		tab = new int[size]();
	}

	Z2() {
		//domyslny
	}

	~Z2() {
		delete[] tab;
	}

	int pobierz_wstaw(int i) {

		if (i < 0 || i >= arrsize) {
			cout << "bledny indeks";
			return 0;
		}

		cout << "p - pobierz" << endl;
		cout << "w - wstaw" << endl;
		cin >> c;
		switch (c) {

		case 'w':
			cout << "Podaj wartosc: " << endl;
			cin >> y;
			tab[i] = y;
			break;

		case 'p':
			cout << "Pobrana wartosc to " << tab[i] << endl;
			return tab[i];
			break;

		default:
			break;

		}
		return 0;
	}

};

int main() {

	while (1) {
		Z2 *test = new Z2(0, 5);
		test->pobierz_wstaw(3);
	}
	return 0;
}

0

Naprawdę macie zadanie, które polega na kompletnym olaniu rule of 3/5/0?!

Co rozumiesz przez "nie działa wczytywanie"?

I po co w ciele klasy definiujesz zmienne, które używasz tylko wewnątrz jednej funkcji?

0
kq napisał(a):

Naprawdę macie zadanie, które polega na kompletnym olaniu rule of 3/5/0?!

Co rozumiesz przez "nie działa wczytywanie"?

I po co w ciele klasy definiujesz zmienne, które używasz tylko wewnątrz jednej funkcji?

W takim razie zdefiniuje zmienne wewnątrz funkcji, a jeśli chodzi o wczytywanie to wczytuje jakas liczbe do tablicy a wyswietla mi 0 czyli tak jakbym nic nie wczytal.
Jeśli zrobie tak w mainie to wtedy działa, ale chce przekazać równocześnie inny rozmiar tablicy niż domyślny:

while (1) {
		Z2 *test = new Z2();
		test->pobierz_wstaw(3);

	}

0

Ale przecież nigdzie nie wyświetlasz wczytanej liczby. Przygotuj MCVE, bo z obecnego opisu naprawdę nic nie rozumiem.

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