|
- \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 <iostream>
- 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}
|