<?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[Klassen ostream und iomanip]]></title><description><![CDATA[<p>Hallo bin hier neu und hab vermutlich eine sehr blöde frage aber ich komm einfach nicht drauf</p>
<p>ich habe folgendes Problem ich habe eine klasse in dieser klasse verschiedene methoden zur formatierung einer vorlage für eine tabelarische ausgabe:</p>
<pre><code>class Dive {
	public:
		// Constructor
		Dive(size_t colPrecision = 3, size_t hr = 40, size_t colFormat = 10,size_t colSpace = 4, size_t colWidth = 10);

		bool ScannFile(std::string const FileName);
		void Print(std::ostream&amp; out);

		std::ostream &amp; colPrecision (std::ostream &amp; out);
		std::ostream &amp; hr (std::ostream &amp;out);
		std::ostream &amp; colFormat (std::ostream &amp; out);
		std::ostream &amp; colSpace (std::ostream &amp; out);
		std::ostream &amp; colWidth (std::ostream &amp; out);
		std::ostream &amp; Dive::Time (ostream &amp; out, size_t index);

	private:
		//member variables
		std::vector&lt;TData&gt; mvDive;
		TData mTmp;
		TData mTemp_Prev;
		size_t mHr; 
		size_t mColPrecision;
		size_t mColFormat;
		size_t mColSpace;
		size_t mColWidth;
		//member methode 
};
</code></pre>
<p>die methoden werden im cpp implementiert (ich nehm jetzt exemplarisch nur eine heraus)</p>
<pre><code>ostream &amp;Dive::hr (ostream &amp;os) {
	os &lt;&lt; left &lt;&lt; setw(mHr) &lt;&lt; setfill('-') &lt;&lt; &quot;-&quot; &lt;&lt; endl;
	return os;
}

void Dive::Print(ostream&amp; out) {

	out &lt;&lt; &quot;Dive Time&quot;; colSpace(out);
	out	&lt;&lt; &quot;Dive Depth&quot;; colSpace(out);
	out	&lt;&lt; &quot;Down/Up&quot; &lt;&lt; endl;

	out &lt;&lt; setw(mColFormat+mColSpace) &lt;&lt; &quot;(hh:mm:ss)&quot;;
	out	&lt;&lt; setw(mColFormat+mColSpace) &lt;&lt; &quot;(m)&quot;; 
	out	&lt;&lt; setw(mColFormat) &lt;&lt; &quot;(m/s)&quot; &lt;&lt; endl;
	out &lt;&lt; hr;

}
</code></pre>
<p>es will mir einfach nicht gelingen out&lt;&lt;hr auszugeben ich bekomm immer wieder die meldung &quot; error C3867: &quot;Dive::hr&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;Dive::hr&quot;, um einen Zeiger auf den Member zu erstellen.&quot;</p>
<p>vielleicht kann mir jemand hier helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316212/klassen-ostream-und-iomanip</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 06:11:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316212.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Apr 2013 16:43:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 16:43:48 GMT]]></title><description><![CDATA[<p>Hallo bin hier neu und hab vermutlich eine sehr blöde frage aber ich komm einfach nicht drauf</p>
<p>ich habe folgendes Problem ich habe eine klasse in dieser klasse verschiedene methoden zur formatierung einer vorlage für eine tabelarische ausgabe:</p>
<pre><code>class Dive {
	public:
		// Constructor
		Dive(size_t colPrecision = 3, size_t hr = 40, size_t colFormat = 10,size_t colSpace = 4, size_t colWidth = 10);

		bool ScannFile(std::string const FileName);
		void Print(std::ostream&amp; out);

		std::ostream &amp; colPrecision (std::ostream &amp; out);
		std::ostream &amp; hr (std::ostream &amp;out);
		std::ostream &amp; colFormat (std::ostream &amp; out);
		std::ostream &amp; colSpace (std::ostream &amp; out);
		std::ostream &amp; colWidth (std::ostream &amp; out);
		std::ostream &amp; Dive::Time (ostream &amp; out, size_t index);

	private:
		//member variables
		std::vector&lt;TData&gt; mvDive;
		TData mTmp;
		TData mTemp_Prev;
		size_t mHr; 
		size_t mColPrecision;
		size_t mColFormat;
		size_t mColSpace;
		size_t mColWidth;
		//member methode 
};
</code></pre>
<p>die methoden werden im cpp implementiert (ich nehm jetzt exemplarisch nur eine heraus)</p>
<pre><code>ostream &amp;Dive::hr (ostream &amp;os) {
	os &lt;&lt; left &lt;&lt; setw(mHr) &lt;&lt; setfill('-') &lt;&lt; &quot;-&quot; &lt;&lt; endl;
	return os;
}

void Dive::Print(ostream&amp; out) {

	out &lt;&lt; &quot;Dive Time&quot;; colSpace(out);
	out	&lt;&lt; &quot;Dive Depth&quot;; colSpace(out);
	out	&lt;&lt; &quot;Down/Up&quot; &lt;&lt; endl;

	out &lt;&lt; setw(mColFormat+mColSpace) &lt;&lt; &quot;(hh:mm:ss)&quot;;
	out	&lt;&lt; setw(mColFormat+mColSpace) &lt;&lt; &quot;(m)&quot;; 
	out	&lt;&lt; setw(mColFormat) &lt;&lt; &quot;(m/s)&quot; &lt;&lt; endl;
	out &lt;&lt; hr;

}
</code></pre>
<p>es will mir einfach nicht gelingen out&lt;&lt;hr auszugeben ich bekomm immer wieder die meldung &quot; error C3867: &quot;Dive::hr&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;Dive::hr&quot;, um einen Zeiger auf den Member zu erstellen.&quot;</p>
<p>vielleicht kann mir jemand hier helfen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318436</guid><dc:creator><![CDATA[Gerri84]]></dc:creator><pubDate>Thu, 25 Apr 2013 16:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 16:51:55 GMT]]></title><description><![CDATA[<p>Der Member, den du ausgeben willst, heißt mHr.<br />
Oder du rufst die Funktion hr auf und übergibst als Argument out.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318439</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 25 Apr 2013 16:51:55 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 16:52:07 GMT]]></title><description><![CDATA[<p>hr ist eine Funktion, die eine Referenz auf ostream zurückgibt und ein ostream als Argument erwartet. Willst du vielleicht mHr in out schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318441</guid><dc:creator><![CDATA[asdfasd]]></dc:creator><pubDate>Thu, 25 Apr 2013 16:52:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:04:21 GMT]]></title><description><![CDATA[<p>nein die methode hr soll eine horizontale linie ausgeben<br />
-------------------------<br />
und mHr gibt dabei die anzahl der zeichen an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318448</guid><dc:creator><![CDATA[Gerri84]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:04:21 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:12:07 GMT]]></title><description><![CDATA[<p>Ja, dann schreibe doch</p>
<pre><code>hr(out);
</code></pre>
<p>Edit: Ach so, du willst einen <s>Operator</s>Manipulator.<br />
Dann musst du die Funktion static machen.</p>
<p>Edit 2:<br />
Ah ne, static geht nicht, weil das ganze dann nicht mehr wegen mHr geht, da der Member ja nicht static ist.<br />
Dann musste tricksen.<br />
Du gibst ein Zwischenobjekt zurück, in dem Fall so etwas wie:</p>
<pre><code>struct hr_printer
{
    std::size_t count;
};
</code></pre>
<p>In der Methode hr(), erzeugst du dann einen neuen hr_printer und initialisierst ihn mit der Anzahl der Zeichen:</p>
<pre><code>hr_printer hr()
{
    return hr_printer{ mHr };
}
</code></pre>
<p>Für hr_printer definierst du dann noch den Ausgabeoperator, so dass dann folgender Aufruf gültig ist:</p>
<pre><code>out &lt;&lt; hr();
</code></pre>
<p>Oder außerhalb der Klasse:</p>
<pre><code>out &lt;&lt; instanz.hr();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2318450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318450</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:09:58 GMT]]></title><description><![CDATA[<p>jop vielleicht war hr ein blödes bsp...;)<br />
ich möchte ja wenn ich mir das selbe für setw() baue auf einen stream schreiben um eine zeile mit angegebener breite zu erzeugen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318453</guid><dc:creator><![CDATA[Gerri84]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:12:34 GMT]]></title><description><![CDATA[<p>Siehe meinen Edit, ist es das, was du willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318456</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:15:27 GMT]]></title><description><![CDATA[<p>ah ok danke ja das wars was ich wollte dankeschön<br />
wenn ich jedoch den operator außerhalb der klasse manipuliere würd ich das zwischen objekt nicht benötigen oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318458</guid><dc:creator><![CDATA[Gerri84]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:19:52 GMT]]></title><description><![CDATA[<p>Du meinst als freie Funktion?<br />
Ja, dann geht das.<br />
Musst nur irgendwie mHr festlegen von außerhalb.<br />
Oder du verwendest einen Operator mit einem Argument.<br />
Dann kannst du das auch mit dem Zwischenobjekt lösen, implementierst die Erstellungsfunktion dann aber so:</p>
<pre><code>hr_printer hr(std::size_t count)
{
    return hr_printer{ count };
}
</code></pre>
<p>Das dann als freie Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318465</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:19:52 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen ostream und iomanip on Thu, 25 Apr 2013 17:22:40 GMT]]></title><description><![CDATA[<p>ja muss ich wohl so machen das andere ist mir dann doch etwas zu konstruiert.. die idee wär eben nur gewesen das es handhabbarer gewesen wäre wenn man die werte einfach über den ctor aufruf ändern kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2318467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2318467</guid><dc:creator><![CDATA[Gerri84]]></dc:creator><pubDate>Thu, 25 Apr 2013 17:22:40 GMT</pubDate></item></channel></rss>