<?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[Variable verliert übergebenen Wert?]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielleicht mag es eine komische Frage sein, aber ich als Newbie<br />
in VC++ blicke trotzdem nicht ganz durch.</p>
<p>Ich habe in einer Klasse mehrere int-Variablen angelegt,<br />
die durch Funktionen der Klasse Werte zugewiesen bekommen.</p>
<p>Wenn ich allerdings diese Werte in anderen Klassen benutzen möchte, Instanz der Klasse ist angelegt, sind die zugewiesenen Werte nicht vorhanden.<br />
Nur die, die ich im Konstruktor mit Werten belegt hatte.</p>
<pre><code class="language-cpp">//Header
class Init_App
{
public:
	Init_App();
	void Init_Grab_Size(unsigned char taste);
......

public:
	int xsize;
	int ysize;
	int zoom;		//1 normal/2 2time/3 3time

	char *vconf;
	int thresh;		//default value
	int count;
	int fullWindow;	//Fullscreen for CaptureWindow 1-yes/0-no
};

//cpp
#include &quot;initapp.h&quot;

Init_App::Init_App()
{
	vconf = new char[34];

	thresh = 100;	//default value
	count = 0;
	fullWindow = 1;	//Fullscreen for CaptureWindow 1-yes/0-no
}

void Init_App::Init_Grab_Size(unsigned char taste)
{
	switch (taste) {
		case '1' :
			xsize = 192;
			ysize = 144;
			zoom = 4;
			break;
                        .....
		default:
			.....
    }

	sprintf(vconf,&quot;-width=%d -height=%d -channel=%d&quot;,xsize ,ysize,1); 
}

//----------------------------------------------------andere klasse
//Header

class Main_App
{
public:
	Main_App();
	void Init();

private:
	OpenGL_App*	m_opengl_app;
	VRML_App*	m_vrml_app;
	Dialog_App*	m_dialog_app;
	Init_App*	m_init_app;
};

//cpp
#include &quot;mainapp.h&quot;

Main_App::Main_App(): m_init_app(new Init_App),m_opengl_app(new OpenGL_App),m_vrml_app(new VRML_App),m_dialog_app(new Dialog_App)
{

}

void Main_App::Init()
{

//hier steht die selbe sinnlose Zahl oder String drin
	printf(&quot;\nvconf %s&quot;, m_init_app-&gt;vconf);
	printf(&quot;\nxsize %d&quot;, m_init_app-&gt;xsize);
	printf(&quot;\nysize %d&quot;, m_init_app-&gt;ysize);
	printf(&quot;\nzoom %d&quot;, m_init_app-&gt;zoom);
//hier sind die werte von dem konstruktor vorhanden
	printf(&quot;\ncount %d&quot;, m_init_app-&gt;count);
	printf(&quot;\nfullWindow %d&quot;, m_init_app-&gt;fullWindow);
	printf(&quot;\nthresh %d&quot;, m_init_app-&gt;thresh);
        ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/57967/variable-verliert-übergebenen-wert</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 17:51:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/57967.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Dec 2003 12:40:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable verliert übergebenen Wert? on Tue, 09 Dec 2003 12:41:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielleicht mag es eine komische Frage sein, aber ich als Newbie<br />
in VC++ blicke trotzdem nicht ganz durch.</p>
<p>Ich habe in einer Klasse mehrere int-Variablen angelegt,<br />
die durch Funktionen der Klasse Werte zugewiesen bekommen.</p>
<p>Wenn ich allerdings diese Werte in anderen Klassen benutzen möchte, Instanz der Klasse ist angelegt, sind die zugewiesenen Werte nicht vorhanden.<br />
Nur die, die ich im Konstruktor mit Werten belegt hatte.</p>
<pre><code class="language-cpp">//Header
class Init_App
{
public:
	Init_App();
	void Init_Grab_Size(unsigned char taste);
......

public:
	int xsize;
	int ysize;
	int zoom;		//1 normal/2 2time/3 3time

	char *vconf;
	int thresh;		//default value
	int count;
	int fullWindow;	//Fullscreen for CaptureWindow 1-yes/0-no
};

//cpp
#include &quot;initapp.h&quot;

Init_App::Init_App()
{
	vconf = new char[34];

	thresh = 100;	//default value
	count = 0;
	fullWindow = 1;	//Fullscreen for CaptureWindow 1-yes/0-no
}

void Init_App::Init_Grab_Size(unsigned char taste)
{
	switch (taste) {
		case '1' :
			xsize = 192;
			ysize = 144;
			zoom = 4;
			break;
                        .....
		default:
			.....
    }

	sprintf(vconf,&quot;-width=%d -height=%d -channel=%d&quot;,xsize ,ysize,1); 
}

//----------------------------------------------------andere klasse
//Header

class Main_App
{
public:
	Main_App();
	void Init();

private:
	OpenGL_App*	m_opengl_app;
	VRML_App*	m_vrml_app;
	Dialog_App*	m_dialog_app;
	Init_App*	m_init_app;
};

//cpp
#include &quot;mainapp.h&quot;

Main_App::Main_App(): m_init_app(new Init_App),m_opengl_app(new OpenGL_App),m_vrml_app(new VRML_App),m_dialog_app(new Dialog_App)
{

}

void Main_App::Init()
{

//hier steht die selbe sinnlose Zahl oder String drin
	printf(&quot;\nvconf %s&quot;, m_init_app-&gt;vconf);
	printf(&quot;\nxsize %d&quot;, m_init_app-&gt;xsize);
	printf(&quot;\nysize %d&quot;, m_init_app-&gt;ysize);
	printf(&quot;\nzoom %d&quot;, m_init_app-&gt;zoom);
//hier sind die werte von dem konstruktor vorhanden
	printf(&quot;\ncount %d&quot;, m_init_app-&gt;count);
	printf(&quot;\nfullWindow %d&quot;, m_init_app-&gt;fullWindow);
	printf(&quot;\nthresh %d&quot;, m_init_app-&gt;thresh);
        ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/411791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/411791</guid><dc:creator><![CDATA[dad_an_der_fh]]></dc:creator><pubDate>Tue, 09 Dec 2003 12:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to Variable verliert übergebenen Wert? on Tue, 09 Dec 2003 13:58:04 GMT]]></title><description><![CDATA[<p>Rufst du die Funktion irgendwo auf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/411855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/411855</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 09 Dec 2003 13:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to Variable verliert übergebenen Wert? on Tue, 09 Dec 2003 14:16:49 GMT]]></title><description><![CDATA[<p>ja,</p>
<pre><code class="language-cpp">//Header
#include &quot;initapp.h&quot;

class Dialog_App
{
public:
	Dialog_App();
	void capture_size();

	unsigned char taste;
..........

private:
	Init_App* m_init_app;
..........
};

//cpp
#include &quot;dialogapp.h&quot;

Dialog_App::Dialog_App(): m_init_app(new Init_App)
{

}
void Dialog_App::capture_size()
{
	printf(&quot;*** Size of capture video for DV/CAM ***\n&quot;);
	printf(&quot;\nPress (1) PAL 1/4\tStandard\t192x144&quot;);
	printf(&quot;\nPress (2) PAL 3/8\tStandard\t288x216&quot;);
	printf(&quot;\nPress (3) PAL 1/2\tCCIR601\t\t360x288&quot;);
	printf(&quot;\nPress (4) PAL 1/2\tStandard\t384x288&quot;);
	printf(&quot;\nPress (5) PAL FULL\tCCIR601\t\t720x576&quot;);
	printf(&quot;\nPress (6) PAL FULL\tStandard\t768x576&quot;);
	printf(&quot;\n&quot;);
	printf(&quot;\nPress (7) VGA 1/2\tStandard\t320x240&quot;);
	printf(&quot;\nPress (8) VGA FULL\tStandard\t640x480&quot;);
	printf(&quot;\n-&gt; &quot;);
	scanf(&quot;%s&quot;, &amp;taste);
	printf(&quot;\n&quot;);

	m_init_app-&gt;Init_Grab_Size(taste);
}
........
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/411873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/411873</guid><dc:creator><![CDATA[dad_an_der_fh]]></dc:creator><pubDate>Tue, 09 Dec 2003 14:16:49 GMT</pubDate></item><item><title><![CDATA[Reply to Variable verliert übergebenen Wert? on Tue, 09 Dec 2003 17:57:11 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>ich tippe, Du rufst von Deiner MainApp()::Init(), bevor Du</p>
<pre><code>//hier steht die selbe sinnlose Zahl oder String drin 
    printf(&quot;\nvconf %s&quot;, m_init_app-&gt;vconf); 
    printf(&quot;\nxsize %d&quot;, m_init_app-&gt;xsize); 
    printf(&quot;\nysize %d&quot;, m_init_app-&gt;ysize); 
    printf(&quot;\nzoom %d&quot;, m_init_app-&gt;zoom); 
//hier sind die werte von dem konstruktor vorhanden 
    printf(&quot;\ncount %d&quot;, m_init_app-&gt;count); 
    printf(&quot;\nfullWindow %d&quot;, m_init_app-&gt;fullWindow); 
    printf(&quot;\nthresh %d&quot;, m_init_app-&gt;thresh); 
        ....
</code></pre>
<p>alles ausgibst irgendwo</p>
<pre><code>DialogApp::capture_size()
</code></pre>
<p>Vorher legst Du noch als Membervariable eine neue</p>
<pre><code>m_init_app;
</code></pre>
<p>Alles schön, aber Deine m_init_app aus Dialog_App ist nicht dieselbe, wie die in der Main_App.</p>
<p>Lege Dir in Dialog_app nicht die Membervariable m_init_App neu an, sondern übergib nur den Zeiger aus der Main an den Dialog.</p>
<p>Mit der rufst Du dann Init_grab_size auf, und alles wird gut...</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/412096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/412096</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Tue, 09 Dec 2003 17:57:11 GMT</pubDate></item></channel></rss>