Pytania teoretyczne dotyczące c++

0

Miałem kolokwium i były na nim pytania co do których nie mam pewności.

  1. Który z operatorów trzeba przeciążyć ++ = + & ?
  2. Czy można przeciążyć wzorzec innym wzorcem o tej samej nazwie ?
  3. Czym się różni wywołanie statyczne od dynamicznego (chyba chodzi o wywołanie funkcji) ?
  4. Co tworzy Klasa* nazwa = new Klasa() ?
  5. Czy funkcja zaprzyjazniona jest dziedziczona?
  6. Czy funkcja zaprzyjazniona jest przechodnia ?
  7. Czy funkcj wywolywana podczas tworzenia klasy jest dawana na stos czy sterte?
  8. Jakiego dokonuje kopiowania konstruktor kopiujący (do wyboru dokładne głębokie, niedokładne głębokie, dokładne płytkie, niedokładne płytkie)
  9. Czy "this" używamy tylko w metodach ?

Dzięki

2

skoro bylo kolokwium to odpowiemy za 2-3 godziny zeby byc pewnym ze to nadal nie kolokwium ;)

no i jak wygladaly Twoje odpowiedzi?

0

To są pytania na które nie znam odpowiedzi albo nie jestem do końca pewien. Heh, ja to pisałem tydzień temu :p, jutro mam poprawkę, nie mogę znaleźć w necie odp do tych pytań

2

Ale dziwna ta terminologia...

  1. Nie trzeba żadnego. Można wszystkie.
  2. Funkcji tak.
  3. ???
  4. nowy obiekt Klasa o dynamicznym czasie życia
  5. nie
  6. ???
  7. ???
  8. Takiego jak zdefiniujesz, domyślny wywoła konstruktory kopiujące wszystkich członków klasy (nie wiem jak to się ma do dokładności i głębokości)
  9. nie (przed C++11: tak)
2
Czarny Kaczor napisał(a):
  1. Czy "this" używamy tylko w metodach ?
kq napisał(a):

tak

Nieprawda.

class Klasa
{
	int x = 42;
	int y = this->x; // this poza metodą
};
  1. Czy funkcja zaprzyjazniona jest przechodnia ?

Nie.

0
  1. Nie. Funkcja zaprzyjaźniona z klasą A, która jest zaprzyjaźniona z klasą B, nie musi być zaprzyjaźniona z klasą B. :) O to chodziło?
  2. Wywołanie funkcji zawsze używa stosu, ale nie wiem czy o to było pytanie...
0

Dzięki za odpowiedzi ! :)

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