\documentclass[uebung]{../../../lecture} \title{IPI: Übungsblatt 10} \author{Samuel Weidemaier, Christian Merten} \usepackage[]{listings} \usepackage{xcolor} \lstdefinestyle{mystyle}{ commentstyle=\color{gray}, language=C++, keywordstyle=\color{blue}, numberstyle=\tiny\color{gray}, stringstyle=\color{black}, basicstyle=\ttfamily\footnotesize, breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=5pt, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2 } \lstset{style=mystyle} \begin{document} \begin{aufgabe} siehe \textit{readfiles.cpp} \end{aufgabe} \begin{aufgabe} \begin{lstlisting}[language=C++, title=Fehlersuche, captionpos=b] #include class A { public: int ap; void X(); private: int aq; void aX(); }; class B : public A { public: int bp; void Y(); private: int bq; void bY(); }; class C : public B { public: int cp; void Z(); private: int cq; void cZ(); }; void A::X() { }; void A::aX() { }; void B::bY() { }; void C::Z() { }; void B::Y() { bq = bp; aq = ap; // Fehler: A::aq ist privat, also in B nicht sichtbar bY(); } void C::cZ() { ap = 1; bp = 2; cq = 3; X(); Y(); aX(); // Fehler: A::aX() ist privat, also in C nicht sichtbar } int main() { A a; B b; C c; a.X(); b.bY(); // Fehler: B::bY() ist privat, also hier nicht sichtbar c.cp = 4; c.bp = 1; c.ap = 2; c.aq = 5; // Fehler: A::aq ist privat, in C nicht sichtbar und erst recht nicht hier b.ap = c.ap; return 0; } \end{lstlisting} \end{aufgabe} \end{document}