<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Guter Anfang? Medienbibliothek]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte zu Übungszwecken eine Medienbibliothek programmieren.</p>
<p>Das Grundgerüst soll so aussehen, dass ich eine Klasse erzeuge, die alle Funktionen wie Anzeigen, Neuer Eintrag, Durchsuchen etc als Memberfunktionen implementiert. Dann wird ein Objekt dieser Klasse erzeugt und die Funktionen nacheinander/bei bedarf aufgerufen.</p>
<pre><code class="language-cpp">//Zum Beispiel:

class NameDerKlasse
{
  //alle wichtigen Variablen und Konstanten

  //Alle wichtigen Funktionen:

  void Anzeigen();
  void Datenbank_oeffnen();
  void Durchsuchen();
  //etc.
};

int main()
{
  NamederKlasse Testobjekt;

  Testobjekt.Datenbank_oeffnen();
  //use.
}
</code></pre>
<p>Ist dies ein guter Anfang, grundfalsch oder verbesserungswürdig?</p>
<p>Wann sollte man eine &quot;normale&quot; Funktion und wann eine Memberfunktion verwenden?</p>
<p>Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256766/guter-anfang-medienbibliothek</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 04:39:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256766.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Dec 2009 16:02:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 16:02:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte zu Übungszwecken eine Medienbibliothek programmieren.</p>
<p>Das Grundgerüst soll so aussehen, dass ich eine Klasse erzeuge, die alle Funktionen wie Anzeigen, Neuer Eintrag, Durchsuchen etc als Memberfunktionen implementiert. Dann wird ein Objekt dieser Klasse erzeugt und die Funktionen nacheinander/bei bedarf aufgerufen.</p>
<pre><code class="language-cpp">//Zum Beispiel:

class NameDerKlasse
{
  //alle wichtigen Variablen und Konstanten

  //Alle wichtigen Funktionen:

  void Anzeigen();
  void Datenbank_oeffnen();
  void Durchsuchen();
  //etc.
};

int main()
{
  NamederKlasse Testobjekt;

  Testobjekt.Datenbank_oeffnen();
  //use.
}
</code></pre>
<p>Ist dies ein guter Anfang, grundfalsch oder verbesserungswürdig?</p>
<p>Wann sollte man eine &quot;normale&quot; Funktion und wann eine Memberfunktion verwenden?</p>
<p>Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824053</guid><dc:creator><![CDATA[mamph]]></dc:creator><pubDate>Thu, 17 Dec 2009 16:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 16:30:26 GMT]]></title><description><![CDATA[<p>Methoden halt dann, wenn du alles in einer Klasse kapselst und Funktionen würde ich bei mathematischen Formeln benutzen (Da lohnt sich ne Klasse einfach nicht^^).</p>
<p>Ansonsten; Woraus besteht denn die &quot;Medienbibliothek&quot;?<br />
:xmas1: :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824067</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Thu, 17 Dec 2009 16:30:26 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 17:45:56 GMT]]></title><description><![CDATA[<p>Sie soll bestehen aus:</p>
<p>Einlesen Eines Verzeichnisses und automatische Einordnung aller (noch nicht vorhandenen) Musik und Filmdateien in eine MySQL Datenbank.</p>
<p>Dynamische Suchfunktion die je nach Wunsch des Nutzers diverse Informationen wie Länge, Titel, Interpret etc. ausgibt.</p>
<p>Kommentierfunktion</p>
<p>Unterstützung von mehreren Benutzern durch Login.</p>
<p>Manuelles Löschen/Hinzufügen/editieren von Dateien.</p>
<p>Eventuell Abspielen der Medien (was aber wohl völlig unrealistisch ist).</p>
<p>Alle diese Funktionen sollten als Methoden implementiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824092</guid><dc:creator><![CDATA[mamph]]></dc:creator><pubDate>Thu, 17 Dec 2009 17:45:56 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 17:47:14 GMT]]></title><description><![CDATA[<p>Memberfunctions sind dann nötig, wenn man auf private oder protected Members zugreifen muß. Alles andere, was nicht auf diese Members zugreifen muß, lagere ich immer in eine freie Funktion aus. Ist eine ziemlich einfache Regel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824093</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 17 Dec 2009 17:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 21:27:35 GMT]]></title><description><![CDATA[<blockquote>
<p>Dynamische Suchfunktion die je nach Wunsch des Nutzers diverse Informationen wie Länge, Titel, Interpret etc. ausgibt.</p>
</blockquote>
<p>Da muss man dann aber wohl die Tags einzeln eingeben, oder?<br />
:xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824224</guid><dc:creator><![CDATA[LauritzG]]></dc:creator><pubDate>Thu, 17 Dec 2009 21:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Anfang? Medienbibliothek on Thu, 17 Dec 2009 21:51:59 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Memberfunctions sind dann nötig, wenn man auf private oder protected Members zugreifen muß. Alles andere, was nicht auf diese Members zugreifen muß, lagere ich immer in eine freie Funktion aus. Ist eine ziemlich einfache Regel.</p>
</blockquote>
<p>Dem kann ich weitgehend zustimmen.</p>
<p>Freie Funktionen erlauben prinzipiell mehr Code-Wiederverwendung. Sie können überladen werden und mit Objekten arbeiten, deren Typ bereits feststeht (z.B. Nicht-Klassen-Typen wie <code>int</code> , aber auch Klassen aus Bibliotheken, die nicht verändert werden sollen). Zudem wird die Kapselung erhöht, wenn nur wenige Memberfunktionen direkten Zugriff auf private Daten haben. Globale Funktionen müssen dann die Schnittstelle der Klasse nutzen. Manchmal hört man auch, dass freie Funktionen gegen die Objektorientierung sprechen (aber gerade das Kapselungsbeispiel zeigt doch was anderes; abgesehen davon halte ich es für fragwürdig, OOP der Aufrufsyntax nach zu beurteilen).</p>
<p>Wichtig ist ausserdem, dass nicht alle Funktionen, die unmittelbar mit der Klasse verbunden sind, als Member implementiert werden müssen. Das Interface einer Klasse besteht im Allgemeinen aus ihren <code>public</code> -Membern plus den freien Funktionen oder Typen, welche im selben Header ausgeliefert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1824242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1824242</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 17 Dec 2009 21:51:59 GMT</pubDate></item></channel></rss>