Skip to content
Snippets Groups Projects
Commit a5c7adfa authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Beispiele 20.5.2025

parent 5d304b76
No related branches found
No related tags found
No related merge requests found
Showing
with 1262 additions and 1 deletion
No preview for this file type
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
% Attribution-ShareAlike 3.0 Unported License along with this % Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <https://creativecommons.org/licenses/>. % document. If not, see <https://creativecommons.org/licenses/>.
% README: C++: Objekte, Strings, Templates, … % README: C++: Objekte, Strings
\documentclass[10pt,t]{beamer} \documentclass[10pt,t]{beamer}
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
\item[5.6] Objekte \item[5.6] Objekte
\color{red} \color{red}
\item[5.7] Strings \item[5.7] Strings
\color{black}
\item[5.8] Templates \item[5.8] Templates
\vspace{-\smallskipamount} \vspace{-\smallskipamount}
\item[\textbf{\dots}] \item[\textbf{\dots}]
...@@ -512,6 +513,8 @@ ...@@ -512,6 +513,8 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\iffalse
\subsection{Templates} \subsection{Templates}
\begin{frame}[fragile] \begin{frame}[fragile]
...@@ -721,4 +724,6 @@ ...@@ -721,4 +724,6 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\fi
\end{document} \end{document}
#include <stdio.h>
class TBase
{
virtual void print () = 0;
};
class TInteger: TBase
{
int content;
virtual void print ();
TInteger (int i);
};
class TString: TBase
{
char *content;
virtual void print ();
TString (char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
};
class TInteger: TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: TBase
{
public:
char *content;
virtual void print ();
TString (char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
const char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
const char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
const char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
class TBase
{
public:
virtual void print () = 0;
virtual ~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
const char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
content = s;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print () = 0;
virtual ~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print () = 0;
virtual ~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print () = 0;
virtual ~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
virtual ~TString ();
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print () = 0;
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
~TString ();
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print () = 0;
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
~TString ();
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
printf ("destroying TBase\n");
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
printf ("destroying TString\n");
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
void print () = 0;
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
void print ();
TString (const char *s);
~TString ();
};
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TBase::~TBase ()
{
printf ("destroying TBase\n");
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
printf ("destroying TString\n");
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
void print ();
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
void print ();
TString (const char *s);
~TString ();
};
void TBase::print ()
{
printf ("Base\n");
}
TBase::~TBase ()
{
printf ("destroying TBase\n");
}
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
printf ("destroying TString\n");
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print ();
~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
~TString ();
};
void TBase::print ()
{
printf ("Base\n");
}
TBase::~TBase ()
{
printf ("destroying TBase\n");
}
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
printf ("destroying TString\n");
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
class TBase
{
public:
virtual void print ();
virtual ~TBase ();
};
class TInteger: public TBase
{
public:
int content;
virtual void print ();
TInteger (int i);
};
class TString: public TBase
{
public:
char *content;
virtual void print ();
TString (const char *s);
virtual ~TString ();
};
void TBase::print ()
{
printf ("Base\n");
}
TBase::~TBase ()
{
printf ("destroying TBase\n");
}
void TInteger::print ()
{
printf ("Integer: %d\n", content);
}
void TString::print ()
{
printf ("String: \"%s\"\n", content);
}
TInteger::TInteger (int i)
{
content = i;
}
TString::TString (const char *s)
{
if (s)
{
int l = strlen (s);
content = (char *) malloc (l + 1);
strcpy (content, s);
}
else
content = NULL;
}
TString::~TString ()
{
printf ("destroying TString\n");
if (content)
free (content);
}
int main (void)
{
TBase *object[] = { new TInteger (42),
new TString ("Hello, world!"),
NULL };
for (int i = 0; object[i]; i++)
object[i]->print ();
for (int i = 0; object[i]; i++)
delete object[i];
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment