<?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[Methode aus einem struct in eine Klasse.... :D]]></title><description><![CDATA[<p>Hoi also guckt euch erstmal folgenden Code an...:</p>
<pre><code class="language-cpp">class CAppData
{
	/* -------------------------------------------------------*/
	private: /* -Declarations                                 */
	/* -------------------------------------------------------*/
		struct IPlaybackData
		{
			bool		 fPaused;	// Wiedergabe pausiert ?
			bool		 fInit;		// Mediendatei geladen ?
			bool		 fMute;		// Lautstärke gemutet ?
			unsigned int uiVol;		// Lautstärke Wert
			bool		 fRepeat;	// Wiederholen (Repeat-Mode)?			
			ERepeatModes rpRepMode;	// Wiederholungsmodus (RPM-ENUM)

		} IPlaybackData;

		struct IOptionsData
		{
			struct IStartupData
			{
				bool   fAutoStart;	// beim Systemstart laden ?
				bool   fStartMin;	// Programm miniert starten ?
				string strKeyName;	// Name des Registry-Eintrags
				string strKeyPath;	// Registry-Wert (Pfad) von strKeyName				

			} IStartupData;

			// [&gt; TODO: Weitere Optionen implementieren

		} IOptionsData;

		struct IInterfaceData
		{
			bool fPrstPaused;	// Trackinformationssteuerelement (Presenter) pausiert ?
			bool fTopmostWnd;	// Fenster immer im Vordergrund ?			

		} IInterfaceData;

		// [&gt; TODO: Weiteres...
	/* -------------------------------------------------------*/
	public: /* -Declarations                                  */
	/* -------------------------------------------------------*/
		CAppData(void);
		~CAppData(void);

		/*
		 * Playback-Methoden:
		 */
		struct IPlayback
		{
			void SetPaused		(bool fPause);
			void SetInitialized	(bool fInit);
			void SetMuted		(bool fMute);
			void SetRepeated	(bool fRep);
			void SetVolume		(unsigned int uiVol);			
			void SetRepMode		(ERepeatModes rpMode);

			bool IsPaused		(void) const;
			bool IsInitialized	(void) const;			
			bool IsRepeated		(void) const;
			unsigned int GetVolume	(void) const;
			ERepeatModes GetRepMode	(void) const;

		} IPlayback;
		// Weitere...
};
</code></pre>
<p>so...das lässt sich jez einwandfrei kompilieren...nur: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /><br />
Ich hab keine Ahnung wie ich bspw: SetPaused definiere...Irg.-Wie bekomme ichs mit den Gültigkeitsbereichen nicht hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Geht das überhaupt, wenn ja WIE ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>PS: ERepeatModes ist ne enum...und so definiert:</p>
<pre><code class="language-cpp">typedef enum
{
	RPM_SINGLE,			/* nur einen Track wiederholen		*/
	RPM_ALL,			/* alle Tracks wiederholen			*/
	RPM_SINGLE_NTIMES,	/* einen Tracks n-Mal wiederholen	*/
	RPM_ALL_NTIMES,		/* alle Tracks n-Mal wiederholen	*/

	RPM_ENSURE_UINT_ENUM = UINT_MAX /* maximal unsigned int, diesen Wert nicht benutzen */

} ERepeatModes;
</code></pre>
<p>So, hoffe mal ihr versteht was ich meine und steigt da durch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ...danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150483/methode-aus-einem-struct-in-eine-klasse-d</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 18:23:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150483.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jun 2006 02:35:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 02:35:30 GMT]]></title><description><![CDATA[<p>Hoi also guckt euch erstmal folgenden Code an...:</p>
<pre><code class="language-cpp">class CAppData
{
	/* -------------------------------------------------------*/
	private: /* -Declarations                                 */
	/* -------------------------------------------------------*/
		struct IPlaybackData
		{
			bool		 fPaused;	// Wiedergabe pausiert ?
			bool		 fInit;		// Mediendatei geladen ?
			bool		 fMute;		// Lautstärke gemutet ?
			unsigned int uiVol;		// Lautstärke Wert
			bool		 fRepeat;	// Wiederholen (Repeat-Mode)?			
			ERepeatModes rpRepMode;	// Wiederholungsmodus (RPM-ENUM)

		} IPlaybackData;

		struct IOptionsData
		{
			struct IStartupData
			{
				bool   fAutoStart;	// beim Systemstart laden ?
				bool   fStartMin;	// Programm miniert starten ?
				string strKeyName;	// Name des Registry-Eintrags
				string strKeyPath;	// Registry-Wert (Pfad) von strKeyName				

			} IStartupData;

			// [&gt; TODO: Weitere Optionen implementieren

		} IOptionsData;

		struct IInterfaceData
		{
			bool fPrstPaused;	// Trackinformationssteuerelement (Presenter) pausiert ?
			bool fTopmostWnd;	// Fenster immer im Vordergrund ?			

		} IInterfaceData;

		// [&gt; TODO: Weiteres...
	/* -------------------------------------------------------*/
	public: /* -Declarations                                  */
	/* -------------------------------------------------------*/
		CAppData(void);
		~CAppData(void);

		/*
		 * Playback-Methoden:
		 */
		struct IPlayback
		{
			void SetPaused		(bool fPause);
			void SetInitialized	(bool fInit);
			void SetMuted		(bool fMute);
			void SetRepeated	(bool fRep);
			void SetVolume		(unsigned int uiVol);			
			void SetRepMode		(ERepeatModes rpMode);

			bool IsPaused		(void) const;
			bool IsInitialized	(void) const;			
			bool IsRepeated		(void) const;
			unsigned int GetVolume	(void) const;
			ERepeatModes GetRepMode	(void) const;

		} IPlayback;
		// Weitere...
};
</code></pre>
<p>so...das lässt sich jez einwandfrei kompilieren...nur: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /><br />
Ich hab keine Ahnung wie ich bspw: SetPaused definiere...Irg.-Wie bekomme ichs mit den Gültigkeitsbereichen nicht hin <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Geht das überhaupt, wenn ja WIE ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>PS: ERepeatModes ist ne enum...und so definiert:</p>
<pre><code class="language-cpp">typedef enum
{
	RPM_SINGLE,			/* nur einen Track wiederholen		*/
	RPM_ALL,			/* alle Tracks wiederholen			*/
	RPM_SINGLE_NTIMES,	/* einen Tracks n-Mal wiederholen	*/
	RPM_ALL_NTIMES,		/* alle Tracks n-Mal wiederholen	*/

	RPM_ENSURE_UINT_ENUM = UINT_MAX /* maximal unsigned int, diesen Wert nicht benutzen */

} ERepeatModes;
</code></pre>
<p>So, hoffe mal ihr versteht was ich meine und steigt da durch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ...danke schonmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079264</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 02:35:30 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 07:39:06 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>definiert ist es ja schon, du willst sicher wissen wie du es implementierst</p>
<pre><code class="language-cpp">void CAppData::IPlayback::SetPaused(bool fPause)
{
  ...
}
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079281</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 17 Jun 2006 07:39:06 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 08:08:33 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>definiert ist es ja schon, du willst sicher wissen wie du es implementierst</p>
<pre><code class="language-cpp">void CAppData::IPlayback::SetPaused(bool fPause)
{
  ...
}
</code></pre>
<p>bis bald<br />
akari</p>
</blockquote>
<p>hmm jetzt setz mal bitte das 'fInit' aus der Klasse auf 'fInit' aus dem Methodenparam. .... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> das geht nit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079292</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:08:33 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 08:14:15 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>hmm jetzt setz mal bitte das 'fInit' aus der Klasse auf 'fInit' aus dem Methodenparam</p>
</blockquote>
<p><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="😕"
    /> Versteh ich nicht.</p>
<p>Mein Code ansich läuft.</p>
<p>Allerdings hast du hier noch einen Fehler</p>
<pre><code class="language-cpp">struct IPlayback
        {
         ...
        } IPlayback;
</code></pre>
<p>Das zweite IPlayback must du weglassen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079294</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:14:15 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 08:20:18 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct IPlaybackData
        {
            bool         fPaused;    // Wiedergabe pausiert ?? &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;DAS_HIER!!!!!!!!
            bool         fInit;        // Mediendatei geladen ?
            bool         fMute;        // Lautstärke gemutet ?
            unsigned int uiVol;        // Lautstärke Wert
            bool         fRepeat;    // Wiederholen (Repeat-Mode)?           
            ERepeatModes rpRepMode;    // Wiederholungsmodus (RPM-ENUM)

        } IPlaybackData;
</code></pre>
<p>setz mal das markierte element (fPaused) auf den Parameter den ich den Methode (fPause) übergeben...(sry hab mich grad vertippt^^) ...Oder anders: Implementier mal die Methode vollständig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ...das hab ich nämlich nit hinbekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>ALSO:</p>
<pre><code class="language-cpp">void CAppData::IPlayback::SetPaused(bool fPause)
{
// hier fehlt ja noch was...das funzt bei mir nie ...
// ''(this)'fPaused' = fPause;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1079300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079300</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:20:18 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 08:28:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p><em>SetPaused(bool fPause)</em> ist ein Element von <em>IPlayback</em>, <em>fPaused</em> hingegen gehört zu <em>IPlaybackData</em>. Da es zwischen diesen beiden Definitionen keine Verbindung gibt kannst du auch von dem einem zu dem andern keine Übergabe machen.</p>
<p>Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!</p>
<pre><code class="language-cpp">struct IPlayback
{
...
} IPlayback;
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079304</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 08:31:00 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Hallo</p>
<p><em>SetPaused(bool fPause)</em> ist ein Element von <em>IPlayback</em>, <em>fPaused</em> hingegen gehört zu <em>IPlaybackData</em>. Da es zwischen diesen beiden Definitionen keine Verbindung gibt kannst du auch von dem einem zu dem andern keine Übergabe machen.</p>
<p>Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!</p>
<pre><code class="language-cpp">struct IPlayback
{
...
} IPlayback;
</code></pre>
<p>bis bald<br />
akari</p>
</blockquote>
<p>jaja den Bug hab ich ja gecheckt...also gibbet das keine Möglichkeit auf die Daten zuzugreifen bzw. diese zu verändern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079307</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 08:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:03:08 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p><em>IPlayback</em> bräuchte eine Referenz auf <em>IPlaybackData</em>, dann könntest du von <em>IPlayback</em> aus die Daten von <em>IPlaybackData</em> ändern.</p>
<p>Allerdings halte ich die Unterteilung eh für Unsinn (genau aus diesem Grund). Attribute und die dazugehörigen Getter/Setter sollten in einer gemeinsamen Klasse sein.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079320</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:02:03 GMT]]></title><description><![CDATA[<p>Ok, verstehe ...dann nochmal vielen Dank! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079322</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:02:03 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:15:36 GMT]]></title><description><![CDATA[<p>akari schrieb:</p>
<blockquote>
<p>Und ich sag nochmal das so eine Definition entweder überflüssig oder falsch ist!</p>
<pre><code class="language-cpp">struct IPlayback
{
...
} IPlayback;
</code></pre>
</blockquote>
<p>es ist nicht falsch, allerdings in meinen augen schlechter stil. es ist in C++ legal, einen namen im selben scope für einen klassen- oder enum-namen zu verwenden, als auch für ein objekt, eine funktion oder eine aufzählungskonstante. hier wird also ein struct mit IPlayback definiert und dann ein member vom typ IPlayback mit dem namen IPlayback deklariert. der name der membervariable verdeckt anschließend den namen des typs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079332</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:15:36 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:17:28 GMT]]></title><description><![CDATA[<blockquote>
<p>der name der membervariable verdeckt anschließend den namen des typs.</p>
</blockquote>
<p>jo so isses...</p>
<p>Aber ne Lösung für mein Problem -oben beschrieben- hast du auch nicht oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079335</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:33:05 GMT]]></title><description><![CDATA[<p>Sturkurklasse schrieb:</p>
<blockquote>
<blockquote>
<p>der name der membervariable verdeckt anschließend den namen des typs.</p>
</blockquote>
<p>jo so isses...</p>
<p>Aber ne Lösung für mein Problem -oben beschrieben- hast du auch nicht oder ?</p>
</blockquote>
<p>mach IPlaybackData member von IPlayback - das ist nur logisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079342</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:33:05 GMT</pubDate></item><item><title><![CDATA[Reply to Methode aus einem struct in eine Klasse.... :D on Sat, 17 Jun 2006 09:36:40 GMT]]></title><description><![CDATA[<p>dann meckert er wg. neu definition...aber danke :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079344</guid><dc:creator><![CDATA[Sturkurklasse]]></dc:creator><pubDate>Sat, 17 Jun 2006 09:36:40 GMT</pubDate></item></channel></rss>