• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wskaźnik adresu pierwszego elementu tablicy w klasie.

Cloud VPS
0 głosów
512 wizyt
pytanie zadane 29 marca 2016 w C i C++ przez prank Nowicjusz (200 p.)

Mam problem ze wskaźnikiem adresu elementu tablicy w klasie, za każdym razem wyświetla złe wartości.

Kod:

#include<iostream>
class PrzypisanieAdresuPierwszegoElementuTablicy {
private:
	int n=2;
	int *w;
	int *c;
public:
	PrzypisanieAdresuPierwszegoElementuTablicy() {
		w = new int[n];	//utworzenie tablicy dynamicznej
	}
	PrzypisanieAdresuPierwszegoElementuTablicy(int *w) {
		c = &w[0];	//przypisanie adresu tablicy dynamicznej wskaznikowi c
	}
	int* wyswietl() { return c; } //funkcja zwracajaca adres tablicy
};
int main() {
	PrzypisanieAdresuPierwszegoElementuTablicy z1;
	std::cout << z1.wyswietl();
}

 

1 odpowiedź

0 głosów
odpowiedź 29 marca 2016 przez mariush Dyskutant (7,860 p.)
edycja 29 marca 2016 przez mariush
 
Najlepsza

Adres pierwszego elementu tablicy to po prostu nazwa tej tablicy, po co kombinować z &w[0] jak wystarczy samo w.

Wskaźnik c nie jest Ci w ogóle do niczego potrzebny. 

int* wyswietl() {return w;}

EDIT:

Poza tym tworzysz dynamiczną tablicę za pomocą domyślnego konstruktora, nie ustawiając przy tym c. Później próbujesz zwrócić c za pomocą funkcji wyswietl(). Pytanie: co jest w c?

komentarz 29 marca 2016 przez prank Nowicjusz (200 p.)
Wskaźnik c na nic nie wskazuje.
komentarz 29 marca 2016 przez mariush Dyskutant (7,860 p.)
A sprawdź ;)

Żeby na nic nie wskazywał musisz mu przypisać: 0, NULL lub nullptr. Wtedy na nic nie wskazuje.
komentarz 29 marca 2016 przez prank Nowicjusz (200 p.)
Zwraca CCCCCCCC po usunięciu reszty argumentów, ale czemu ?:P

Podobne pytania

0 głosów
1 odpowiedź 1,170 wizyt
0 głosów
1 odpowiedź 873 wizyt
pytanie zadane 20 stycznia 2016 w C i C++ przez Jonki Dyskutant (8,180 p.)
+1 głos
1 odpowiedź 1,617 wizyt
pytanie zadane 16 stycznia 2016 w C i C++ przez Avalon Obywatel (1,130 p.)

93,455 zapytań

142,449 odpowiedzi

322,719 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...