n.....a
n.....a
#programowanie #cpp #naukaprogramowania
Jak powinna wyglądać klasa Point, żeby poniższy kod działał?

const Point first (1.2, 2.3, 3.4);
std::cout << first[Point::X] << ", " << first[Point::Y] << ", " << first[Point::Z];
Ma wypisywać to: 1.2, 2.3, 3.4
Bez korzystania ze słowa static.
Temat związany z przeciążaniem operatorów, z tym nie mam problemu, tylko z Point::X, Point::Y, Point::Z, o co chodzi mireczki?
1
  • Najlepsze
  • Wszystkie komentarze
bartekplus
bartekplus
@nienawidzejanka: enum w klasie + przeciazenie operatora []
5
KrzaQ2
@nienawidzejanka: Nie pod względem czytelności, ale może pozwolić to generować szybszy kod. Na studia zrób jak Ci łatwiej ;)
1
n.....a
n.....a
@bartekplus: o tym nie pomyślałem, dzięki
0
KrzaQ2
@nienawidzejanka: W sumie jak przeciążysz 3x dla 3 różnych enumów to nie będziesz potrzebował instrukcji warunkowych w op[]
0
n.....a
n.....a
@KrzaQ2 czyli optymalniej będzie zrobić 3 funkcje zamiast warunków w jednej?
0
lionbest
@nienawidzejanka: Najprościej użyć dziedziczenia http://cpp.sh/3nkfl ( ͡° ͜ʖ ͡°)
0
ponton
@nienawidzejanka: czemu first[Point::X] a nie first.X?
0
n.....a
n.....a
@ponton to jest kod z zajęć, nie wolno go zmieniać. Tak prowadzący sobie zażyczył
0
P.....u
P.....u
@nienawidzejanka: Nie lepiej użyć std::sort?
i te liczby do tablicy pyknąć?
0