<?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[dynamische objektorientierte datenstruktur]]></title><description><![CDATA[<p>HALL0.</p>
<p>ich habe folgende frage, zu dem ich ein paar tips bräuchte. und zwar möchte ich mir eine eigene datenstruktur schreiben, die mir bei folgendem problem behilflich ist:</p>
<p>ausgangspunkt ist ein foto, auf dem ein paar linien zu sehen sind. diese linien extrahiere ich durch diverse verfahren. was ich nun benötige, ist eine datenstruktur, in der ich die linien abspeichern kann. d.h., da die linien nicht zusammenhängen, möchte ich jede linie auch unter einem anderen index abspeichern, und unter jedem index sollen dann für alle pixel, die zu dieser linie gefunden wurden, x- und y-koordinaten gespeichert werden. des weiteren sollte es möglich sein, einzelne linien wieder zu löschen, falls sie bestimmten kriterien nicht genügen.<br />
das ganze muss halt dynamisch sein, weil ich nicht weis, wie viele linien auf dem foto sind und wie vie viele pixel pro linie da sind.</p>
<p>vielen dank für eure hilfe!<br />
STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148967/dynamische-objektorientierte-datenstruktur</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 04:28:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148967.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Jun 2006 00:18:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 00:18:06 GMT]]></title><description><![CDATA[<p>HALL0.</p>
<p>ich habe folgende frage, zu dem ich ein paar tips bräuchte. und zwar möchte ich mir eine eigene datenstruktur schreiben, die mir bei folgendem problem behilflich ist:</p>
<p>ausgangspunkt ist ein foto, auf dem ein paar linien zu sehen sind. diese linien extrahiere ich durch diverse verfahren. was ich nun benötige, ist eine datenstruktur, in der ich die linien abspeichern kann. d.h., da die linien nicht zusammenhängen, möchte ich jede linie auch unter einem anderen index abspeichern, und unter jedem index sollen dann für alle pixel, die zu dieser linie gefunden wurden, x- und y-koordinaten gespeichert werden. des weiteren sollte es möglich sein, einzelne linien wieder zu löschen, falls sie bestimmten kriterien nicht genügen.<br />
das ganze muss halt dynamisch sein, weil ich nicht weis, wie viele linien auf dem foto sind und wie vie viele pixel pro linie da sind.</p>
<p>vielen dank für eure hilfe!<br />
STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069204</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Thu, 01 Jun 2006 00:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 07:30:02 GMT]]></title><description><![CDATA[<p>Ich würde ja geschachtelte STL-Container verwenden, z.B. einen vector&lt;vector&lt;point&gt; &gt; (jeder Teilvektor entspricht einer gefundenen Linie). Eventuell auch mit Zwischenklasse für die leichtere Verarbeitung:</p>
<pre><code class="language-cpp">class point;//einzelner Bildpunkt

class line
{
  vector&lt;point&gt; punkte;//enthaltene Punkte
public:
  void insert(const point&amp; p)
  { punkte.push_back(p); }
  int find(const ppoint&amp; p)
  { return find(punkte.begin(),punkte.end(),p)-punkte.begin(); }
  ...
}

vector&lt;line&gt; bild;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1069273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069273</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Jun 2006 07:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 07:55:46 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CSTOLL</a>:</p>
<p>danke für die antwort. so in etwa habe ich mir das auch vorgestellt. leider fehlt mir aber auf dem gebiet der objektorientierten programmierung das wissen &amp; erfahrung, darum kann ich deinen vorschlag nicht direkt nachvollziehen.<br />
gibt es zu dieser problem im internet ein paar gute tutorials, wo ich mir das noch fehlende wissen aneignen kann?</p>
<p>DANKE.<br />
STEFAN.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069288</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Thu, 01 Jun 2006 07:55:46 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 08:23:35 GMT]]></title><description><![CDATA[<p>Im Magazin (recht weit unten im Hauptboard zu erreichen) findest du meine Artikel zum Thema &quot;Aufbau der STL&quot;, da steht auch einiges zu den Containerklassen drin.</p>
<p>Und zu der vorgeschlagenen Struktur:</p>
<ul>
<li>Ein Punkt (point) bietet alle Funktionen, dier er halt benötigt.</li>
<li>Eine Linie enthält eine Reihe von Punkten (als vector&lt;&gt;) und kann Punkte einfügen (push_back()), suchen (find()) und auch wieder rausschmeißen (remove())</li>
<li>Das gesamte Bild besteht wiederum aus mehreren Linien (auch wieder in einem Vektor) und kann genauso erweitert und umgebaut werden.</li>
</ul>
<p>(und um die Linie zu einem Punkt zu suchen, benötigst du find_if() und eine passende Vergleichfunktion:</p>
<pre><code class="language-cpp">bool is_in_line(const line&amp; l,const point&amp; p)
{
  return l.find(p)!=l.anzahl();
  //find() siehe oben, anzahl() enthält nur ein &quot;return punkte.size();&quot;
}

point p0;
vector&lt;line&gt;::iterator = find_if(bild.begin(),bild.end(),bind2nd(ptr_fun(is_in_line),p0));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1069307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069307</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Jun 2006 08:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 08:24:22 GMT]]></title><description><![CDATA[<p>Schau mal ins Magazin. CStoll hat einen Artikel zur Einführung in die STL geschrieben. Da wird auch vector erklärt.</p>
<p>MfG Jester</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069308</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 01 Jun 2006 08:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 08:30:29 GMT]]></title><description><![CDATA[<p>danke für die beiden antworten.</p>
<p>mein problem besteht aber weniger im umgang mit vectoren. damit habe ich mich dank der beiden STL-artikel schon beschäftigen können. problematisch und noch weniger erfahren bin ich im aufbau einer neuen klassen mitsamt ihren methoden. darüber würde ich gerne mehr lesen.</p>
<p>DANKE.<br />
STEFAN.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069318</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Thu, 01 Jun 2006 08:30:29 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 09:09:01 GMT]]></title><description><![CDATA[<p>Schau doch in ein Tutorial oder ein Buch (du wirst doch eins haben).<br />
z.Bsp.<br />
<a href="http://tutorial.schornboeck.net/inhalt.htm" rel="nofollow">http://tutorial.schornboeck.net/inhalt.htm</a><br />
In Kapitel 6 wird unter anderem auch über Klassen geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069352</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Jun 2006 09:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 09:10:13 GMT]]></title><description><![CDATA[<p>OK, dann ein paar Grundlagen:</p>
<p>Eine Klasse besteht aus einzelnen Methoden (davon sind idrR die meisten öffentlich) und Membervariablen (sollten eigentlich privat bleiben). Ein Anwender erstellt ein Objekt dieser Klasse und kann danach auf dessen Methoden zugreifen (die wiederum die Elemente des Objekts lesen oder verändern können).</p>
<p>Z.B. hat die obige Klasse 'line' ein Element namens 'punkte', in dem es die eigenen Bildpunkte verwaltet (ist privat, also nur für die eigenen Methoden sichtbar) und Methoden zum Einfügen, Suchen und Löschen von Punkten (diese greifen auf die Punkteliste zu).<br />
('point' würde wiederum zwei Membervariablen für die Koordinaten und einen Satz Zugriffsmethoden und Vergleichsoperatoren bereitstellen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069355</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 01 Jun 2006 09:10:13 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 09:16:43 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>:<br />
danke für die kurze erläuterung. dazu muss ich aber sicher noch mehr lesen, um es richtig anwenden zu können.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a>:<br />
ein buch habe ich schon, aber nur über C, und dass ist ja, soweit ich weis, keine objektorientierte sprache. und vor ort komme ich hier nicht an deutsche bücher ran. darum meine frage nach ein paar guten links. der, denn du mir empfohlen hast, scheint auf den ersten blick auch hilfreich zu sein. danke.</p>
<p>STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069368</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Thu, 01 Jun 2006 09:16:43 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Thu, 01 Jun 2006 09:26:35 GMT]]></title><description><![CDATA[<p>Oben auf dieser Seite gibt es einen Link &quot;Tutorials&quot; und einen &quot;Bücher&quot;. Klick da einfach mal drauf.<br />
Viel Spass damit.<br />
PS.<br />
Der Link &quot;für Neulinge&quot; ist auch ganz interessant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069380</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 01 Jun 2006 09:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Fri, 02 Jun 2006 03:28:47 GMT]]></title><description><![CDATA[<p>HALLO.</p>
<p>ich habe soeben meine ersten versuche mit vectoren und klassen gemacht. leider funktioniert es nicht so, wie ich es mir wünschen würde. der folgende code funktioniert zwar, aber dessen umsetzung finde ich nicht sonderlich gelungen. gibt es bessere lösungen, ohne &quot;resize&quot; und dafür push_back u.a. verwenden zu können?</p>
<pre><code class="language-cpp">class point
{
	public:
		int itsX;
		int itsY;
};

class line
{
public:
 vector &lt;point&gt; PKT;
 void add (int i, int j)
 {
// ... push_back()... ?
 };
};

int main()
{
	vector &lt;point&gt; TEST;
	TEST.resize(100);
	TEST[0].itsX=0;
	TEST[0].itsY=1;
	return 0;
}
</code></pre>
<p>DANKE.<br />
STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069842</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Fri, 02 Jun 2006 03:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Fri, 02 Jun 2006 05:33:38 GMT]]></title><description><![CDATA[<p>Mit push_back() wird doch der Vector autom. vergrößert, ein resize brauchst du in den seltensten Fällen. Außer du willst mit Resize z.B. 100 Einträge haben. Das was du vielleicht suchst, ist reserve()? Damit kannst du schon mal Speicher vorreservieren.</p>
<p>Obwohl das, was du gemacht hast auch nicht falsch ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069857</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 02 Jun 2006 05:33:38 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Fri, 02 Jun 2006 05:56:06 GMT]]></title><description><![CDATA[<p>aber wie und wo soll ich denn das push_back() einbringen?</p>
<p>so gehts leider nicht:</p>
<pre><code class="language-cpp">TEST[0].push_back();
TEST.push_back();
</code></pre>
<p>STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069865</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Fri, 02 Jun 2006 05:56:06 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Fri, 02 Jun 2006 06:04:28 GMT]]></title><description><![CDATA[<p>Erstmal ist es eine gute Idee, der Klasse point einen Konstruktor zu spendieren. Und zweitens mußt du bei push_back() das Objekt mitgeben, das du anlegen willst:</p>
<pre><code class="language-cpp">//mit deinen Klassen:
point p = {0,1};//ohne Ctor funktioniert die Initialisierungsliste
Test.push_back(p);

//mit Ctor:
class point
{
public:
  point(int nx,int ny) : x(nx),y(ny) {}
  int getx() {return x;}
  int gety() {return y;}
  ...//Vergleiche, evt. setx/sety
private:
  int x,y;
};

...
vector&lt;point&gt; Test;
Test.push_back(point(0,1));//mit Ctor-Aufruf und Temporary
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1069867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069867</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 02 Jun 2006 06:04:28 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Fri, 02 Jun 2006 06:04:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>so gehts leider nicht:</p>
</blockquote>
<p>ist keine ausreichende Fehlerbeschreibung.</p>
<pre><code class="language-cpp">TEST.push_back(/* neues Element */);
</code></pre>
<p>Übrigens gibt es hier im Forum schon einen Haufen Threads zum Thema vector...<br />
Zum Beispiel den <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-143816.html" rel="nofollow">Magazinartikel</a>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1069868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1069868</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 02 Jun 2006 06:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische objektorientierte datenstruktur on Sat, 03 Jun 2006 03:42:18 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>:<br />
ja, ich habe total vergessen das objekt in die klammer zu schreiben. das lag daran, dass ich nicht richtig wusste, welcher art dieses objekt sein soll. dein code scheint auf den ersten blick logisch zu sein. wenn ich am montag wieder an meinem rechner sitze, werde ich das so in mein programm einbauen. danke.</p>
<p>ich habe auch gerade gelesen, dass man einen konstruktor und destruktor nicht unbedingt in einer klasse integrieren muss, da C++ einen standardkonstruktor verwendet. in wie weit wuerdest du dem zustimmen?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@Akari</a>:<br />
danke fuer den link, damit bin ich aber leider nicht mehr weiter gekommen, darum habe ich ja meine frage gepostet.</p>
<p>gruesse,<br />
STICK.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1070522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1070522</guid><dc:creator><![CDATA[stick_thai]]></dc:creator><pubDate>Sat, 03 Jun 2006 03:42:18 GMT</pubDate></item></channel></rss>