<?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 als Klassenparameter]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich rufe zuerst die &quot;manuel&quot; auf und dann &quot;print_vec&quot;.</p>
<p>Aber &quot;print_vec&quot; gibt mir nichts aus.</p>
<p>Sieht jemand meinen Fehler?</p>
<pre><code>#include &quot;header.h&quot;

class gauss{

	public:

		gauss();
		~gauss();
		void print_vec();
		void input_vec(int i);
		void clear();
		void erase(unsigned int ui);
		void manuel();
		void start();
		void set_m(unsigned int ui);
		void set_n(unsigned int ui);

	protected:
	private:

		std::vector&lt;int&gt; vec;
		unsigned int n;
		unsigned int m;
};
</code></pre>
<pre><code>#include &quot;gauss.h&quot;

gauss::gauss() {
}

gauss::~gauss() {
}

void gauss::print_vec() {
    for (auto x: gauss::vec) {
         std::cout &lt;&lt; ' ' &lt;&lt; x;
    }
    std::cout &lt;&lt; '\n';
}

void gauss::input_vec(int i) {
	auto it = vec.begin();
	it = gauss::vec.insert(it, i);
}

void gauss::clear() {

	gauss::vec.clear();

}

void gauss::erase(unsigned int i) {

	if(vec.size()&gt;=i) {
		std::cerr &lt;&lt; &quot;size is &quot; &lt;&lt; vec.size() &lt;&lt; std::endl;
		gauss::vec.erase(gauss::vec.begin()+i,gauss::vec.begin()+i);
	} else {
		std::cerr &lt;&lt; &quot;error, size is &quot; &lt;&lt; vec.size() &lt;&lt; &quot; - erase of index &quot; &lt;&lt; i &lt;&lt; std::endl;
	}

}

void gauss::manuel() {

	unsigned int itmpA=0;
	unsigned int itmpB=0;
	unsigned int n=0;
	unsigned int m=0;
	int in=0;

	gauss abc;

	std::cout &lt;&lt; &quot;index of line - m - &quot;;
	cin &gt;&gt; m;
	std::cout &lt;&lt; &quot;number of line - n - &quot;;
	cin &gt;&gt; n;

	gauss::set_m(m);
	gauss::set_n(n);

	for(itmpA=0; itmpA&lt;n; itmpA++) {
		for(itmpB=0; itmpB&lt;m; itmpB++) {
			std::cout &lt;&lt; itmpA &lt;&lt; &quot; &quot; &lt;&lt; itmpB &lt;&lt; &quot; : &quot;;
			cin &gt;&gt; in;
			abc.input_vec(in);
		}
	}
}

void gauss::start() {
	gauss::print_vec();
}

void gauss::set_n(unsigned int ui) {
	gauss::n=ui;
}

void gauss::set_m(unsigned int ui) {
	gauss::m=ui;
}
</code></pre>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339711/vector-als-klassenparameter</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 23:04:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339711.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Sep 2016 18:59:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 18:59:12 GMT]]></title><description><![CDATA[<p>Moin!</p>
<p>Ich rufe zuerst die &quot;manuel&quot; auf und dann &quot;print_vec&quot;.</p>
<p>Aber &quot;print_vec&quot; gibt mir nichts aus.</p>
<p>Sieht jemand meinen Fehler?</p>
<pre><code>#include &quot;header.h&quot;

class gauss{

	public:

		gauss();
		~gauss();
		void print_vec();
		void input_vec(int i);
		void clear();
		void erase(unsigned int ui);
		void manuel();
		void start();
		void set_m(unsigned int ui);
		void set_n(unsigned int ui);

	protected:
	private:

		std::vector&lt;int&gt; vec;
		unsigned int n;
		unsigned int m;
};
</code></pre>
<pre><code>#include &quot;gauss.h&quot;

gauss::gauss() {
}

gauss::~gauss() {
}

void gauss::print_vec() {
    for (auto x: gauss::vec) {
         std::cout &lt;&lt; ' ' &lt;&lt; x;
    }
    std::cout &lt;&lt; '\n';
}

void gauss::input_vec(int i) {
	auto it = vec.begin();
	it = gauss::vec.insert(it, i);
}

void gauss::clear() {

	gauss::vec.clear();

}

void gauss::erase(unsigned int i) {

	if(vec.size()&gt;=i) {
		std::cerr &lt;&lt; &quot;size is &quot; &lt;&lt; vec.size() &lt;&lt; std::endl;
		gauss::vec.erase(gauss::vec.begin()+i,gauss::vec.begin()+i);
	} else {
		std::cerr &lt;&lt; &quot;error, size is &quot; &lt;&lt; vec.size() &lt;&lt; &quot; - erase of index &quot; &lt;&lt; i &lt;&lt; std::endl;
	}

}

void gauss::manuel() {

	unsigned int itmpA=0;
	unsigned int itmpB=0;
	unsigned int n=0;
	unsigned int m=0;
	int in=0;

	gauss abc;

	std::cout &lt;&lt; &quot;index of line - m - &quot;;
	cin &gt;&gt; m;
	std::cout &lt;&lt; &quot;number of line - n - &quot;;
	cin &gt;&gt; n;

	gauss::set_m(m);
	gauss::set_n(n);

	for(itmpA=0; itmpA&lt;n; itmpA++) {
		for(itmpB=0; itmpB&lt;m; itmpB++) {
			std::cout &lt;&lt; itmpA &lt;&lt; &quot; &quot; &lt;&lt; itmpB &lt;&lt; &quot; : &quot;;
			cin &gt;&gt; in;
			abc.input_vec(in);
		}
	}
}

void gauss::start() {
	gauss::print_vec();
}

void gauss::set_n(unsigned int ui) {
	gauss::n=ui;
}

void gauss::set_m(unsigned int ui) {
	gauss::m=ui;
}
</code></pre>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509312</guid><dc:creator><![CDATA[m.sc.m]]></dc:creator><pubDate>Wed, 21 Sep 2016 18:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 19:30:04 GMT]]></title><description><![CDATA[<p>ich komme nicht ganz mit dieser zeile klar..</p>
<pre><code>for (auto x: gauss::vec) {
</code></pre>
<p>Sach mal etwas dazu ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509317</guid><dc:creator><![CDATA[Moppsie]]></dc:creator><pubDate>Wed, 21 Sep 2016 19:30:04 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 19:33:29 GMT]]></title><description><![CDATA[<p>Moppsie schrieb:</p>
<blockquote>
<p>ich komme nicht ganz mit dieser zeile klar..</p>
<pre><code>for (auto x: gauss::vec) {
</code></pre>
<p>Sach mal etwas dazu ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Das ist eine Range-Based For Schleife, oder auch foreach Schleife genannt. Das einzige ungewöhnliche dadran ist, dass das vec Attribut mit Klassennamen angesprochen wird. Aber sonst ist das ok.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509318</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 21 Sep 2016 19:33:29 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 19:35:43 GMT]]></title><description><![CDATA[<pre><code>gauss abc;
.
.
.
			abc.input_vec(in);
</code></pre>
<p>Das wird eher nicht das Gewünschte tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509319</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 21 Sep 2016 19:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 19:43:08 GMT]]></title><description><![CDATA[<p>Mehrere Kommentare:</p>
<p>1. Du hast und irgendwo ein &quot;using namespace std;&quot; vorenthalten, sonst würde <code>cin</code> nicht kompilieren. Hoffentlich nicht in deinem &quot;header.h&quot;!</p>
<p>2. Fehler ist in gauss::manuel: wozu erzeugst du innerhalb dieser Funktion das neue Objekt &quot;abc&quot;? Ich schätze, du möchstest &quot; <code>gauss abc;</code> &quot; und &quot; <code>abc.</code> &quot; von &quot; <code>abc.input_vec(in);</code> &quot; einfach weglassen.</p>
<p>3. Warum schreibst du innerhalb der Klasse ständig <code>gaus::</code> , zum Beispiel in <code>for (auto x: gauss::vec)</code> ?</p>
<p>4. Was soll die Klasse eigentlich tun? Gauss klingt mir nach allem möglichen, aber nicht danach, dass ich irgendwie Zahlen eingeben soll.</p>
<p>5. Wenn deine Konstruktoren/Destruktoren eh leer sind, warum lässt du sie dann nicht weg oder schreibst explizit <code>gauss() = default;</code> ?</p>
<p>6. std::vector ist nicht dafür bekannt, bei insert am Anfang besonders schnell zu sein... (was soll dein <code>input_vec</code> machen - am Anfang eine Zahl einfügen?!)</p>
<p>7. dein erase ist komisch:</p>
<blockquote>
<pre><code>gauss::vec.erase(gauss::vec.begin()+i,gauss::vec.begin()+i);
</code></pre>
</blockquote>
<p>Iteratorpaare sind bei sowas immer halboffen, d.h. hier wird nix gelöscht! Außerdem lass die gauss:: weg!<br />
(was soll das werden: ein Wrapper um einen <code>std::vector</code> herum?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509320</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Wed, 21 Sep 2016 19:43:08 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 21:14:31 GMT]]></title><description><![CDATA[<p>Dass <code>klassenname::nichtstatischevariable</code> funktioniert wusste ich nicht!<br />
Danke für den Thread.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509325</guid><dc:creator><![CDATA[somebody321]]></dc:creator><pubDate>Wed, 21 Sep 2016 21:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to Vector als Klassenparameter on Wed, 21 Sep 2016 21:25:00 GMT]]></title><description><![CDATA[<p>Ah, da erinner ich mich, dass sowas wie <code>this-&gt;baseclass::somewhat</code> immer funktioniert hat.<br />
Also kannte ich das doch von irgendwo.<br />
Einen schönen Schlaf wünsch ich noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2509327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2509327</guid><dc:creator><![CDATA[somebody321]]></dc:creator><pubDate>Wed, 21 Sep 2016 21:25:00 GMT</pubDate></item></channel></rss>