<?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[Vector Classe Hilfe]]></title><description><![CDATA[<p>Hallo Leute ich habe ein Problem mit meiner Vector Klasse. Erstmal hier der Code. Weiter unten die Fehlerbeschreibung.<br />
Vector.h</p>
<pre><code>class Vector
{	public:
	  Vector(int l);
      ~Vector();
      void set_element(int pos, double value);
      double get_element(int pos);
      void get_size(int *length);
      double mult(Vector *vector_b);

	private:
   	  int vlength;
      double *comp;
};
</code></pre>
<p>Vector.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;Vector.h&quot;

using namespace std;

Vector::Vector(int l)
{	
	vlength=l;
	comp=new double[vlength];
}

Vector::~Vector()
{	
	delete[] comp;

}

void Vector::set_element(int pos, double value)
{	
	comp[pos]=value;
}

double Vector::get_element(int pos)
{	
	double value=comp[pos];
	return value;
}

void Vector::get_size(int *length)
{
	*length=vlength;
}

double Vector::mult(Vector *vec2)
{	int vec1_len;
	double product = 0;

	(*vec2).get_size(&amp;vec1_len);
   for(int i=0; i&lt;=vec1_len; i++)
   {
	   double an =comp[i];

	   product=product+ an *(*vec2).get_element(i);
   }
   return product;
}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;vector.h&quot;
using namespace std;

int main()
{
	Vector v1(1);
	Vector v2(1);
	v1.set_element(0,1);
    v1.set_element(1,2);
    v2.set_element(0,2);
	v2.set_element(1,2);

}
</code></pre>
<p>Und nun die Fehlerbeschreibung: Beim Aufruf des Destruktors, wenn ich mit delete den Speicher wieder Freigebe stürzt das Programm ab<br />
was habe ich falsch gemacht.<br />
Vielen dank im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/124020/vector-classe-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 19:28:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/124020.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Oct 2005 15:59:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector Classe Hilfe on Sat, 22 Oct 2005 15:59:26 GMT]]></title><description><![CDATA[<p>Hallo Leute ich habe ein Problem mit meiner Vector Klasse. Erstmal hier der Code. Weiter unten die Fehlerbeschreibung.<br />
Vector.h</p>
<pre><code>class Vector
{	public:
	  Vector(int l);
      ~Vector();
      void set_element(int pos, double value);
      double get_element(int pos);
      void get_size(int *length);
      double mult(Vector *vector_b);

	private:
   	  int vlength;
      double *comp;
};
</code></pre>
<p>Vector.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;Vector.h&quot;

using namespace std;

Vector::Vector(int l)
{	
	vlength=l;
	comp=new double[vlength];
}

Vector::~Vector()
{	
	delete[] comp;

}

void Vector::set_element(int pos, double value)
{	
	comp[pos]=value;
}

double Vector::get_element(int pos)
{	
	double value=comp[pos];
	return value;
}

void Vector::get_size(int *length)
{
	*length=vlength;
}

double Vector::mult(Vector *vec2)
{	int vec1_len;
	double product = 0;

	(*vec2).get_size(&amp;vec1_len);
   for(int i=0; i&lt;=vec1_len; i++)
   {
	   double an =comp[i];

	   product=product+ an *(*vec2).get_element(i);
   }
   return product;
}
</code></pre>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;vector.h&quot;
using namespace std;

int main()
{
	Vector v1(1);
	Vector v2(1);
	v1.set_element(0,1);
    v1.set_element(1,2);
    v2.set_element(0,2);
	v2.set_element(1,2);

}
</code></pre>
<p>Und nun die Fehlerbeschreibung: Beim Aufruf des Destruktors, wenn ich mit delete den Speicher wieder Freigebe stürzt das Programm ab<br />
was habe ich falsch gemacht.<br />
Vielen dank im vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898816</guid><dc:creator><![CDATA[ADA_ADA]]></dc:creator><pubDate>Sat, 22 Oct 2005 15:59:26 GMT</pubDate></item><item><title><![CDATA[Reply to Vector Classe Hilfe on Sat, 22 Oct 2005 16:12:37 GMT]]></title><description><![CDATA[<p>ADA_ADA schrieb:</p>
<blockquote>
<pre><code>int main()
{
	Vector v1(1);
	Vector v2(1);
	v1.set_element(0,1);
    v1.set_element(1,2);
    v2.set_element(0,2);
	v2.set_element(1,2);
    
}
</code></pre>
</blockquote>
<p>Du reservierst in obigem Beispiel nur Speicher für ein Element mit sizeof(double). Schreibst aber auf die Indizes 0 und 1. D.h. du schreibst über den von dir für das Array reservierten Speicher hinaus. =&gt; Da kann es schonmal krachen. Wobei es mich wundert, dass es hier erst beim Destruktor der Fall sein soll...</p>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898822</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Sat, 22 Oct 2005 16:12:37 GMT</pubDate></item><item><title><![CDATA[Reply to Vector Classe Hilfe on Sat, 22 Oct 2005 16:25:22 GMT]]></title><description><![CDATA[<p>Danke ich wurde hier fast wahnsinnig<br />
bei dieser scheisse !!!!!!!!!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/898825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/898825</guid><dc:creator><![CDATA[ADA_ADA]]></dc:creator><pubDate>Sat, 22 Oct 2005 16:25:22 GMT</pubDate></item></channel></rss>