<?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[Template Klasse Frage]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
class basetest: public CObject {
	void IncObjectSize(){};
	void DecObjectSize(){};

protected:
	T		m_var;

public:
	explicit basetest(const T&amp; value): m_var(value) {};
	virtual ~basetest() {};

	basetest&lt;T&gt;&amp; operator=(const T&amp; value);
};

template&lt;typename T&gt;
basetest&lt;T&gt;&amp; basetest&lt;T&gt;::operator=(const T&amp; value) {
	this-&gt;m_var = value;
	return *this;
};

class test: public basetest&lt;int&gt; {
public:
	test(): basetest(0) {};
	~test() {};
	int get() const { return this-&gt;m_var; };
};

// main.cpp
test a;
a = 100;
std::cout &lt;&lt; a.get() &lt;&lt; std::endl;
</code></pre>
<p>bekomme Error 1 error C2664: 'test::operator =' : cannot convert parameter 1 from 'int' to 'const test &amp;' Project<br />
bitte mich aufzuklaeren, danke sehr</p>
<p>wenn ich folgende aendere, wie findet ihr das</p>
<pre><code class="language-cpp">template &lt;typename T1, typename T2&gt;
class basetest: public CObject {
	void IncObjectSize(){};
	void DecObjectSize(){};

protected:
	T1		m_var;

public:
	explicit basetest(const T1&amp; value): m_var(value) {};
	virtual ~basetest() {};

	T2&amp; operator=(const T1&amp; value);
};

template&lt;typename T1, typename T2&gt;
T2&amp; basetest&lt;T1, T2&gt;::operator=(const T1&amp; value) {
        T2 testvar
	testvar.m_var = value;
	return testvar;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/250291/template-klasse-frage</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 04:10:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250291.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 Sep 2009 10:11:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Klasse Frage on Wed, 16 Sep 2009 10:21:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
class basetest: public CObject {
	void IncObjectSize(){};
	void DecObjectSize(){};

protected:
	T		m_var;

public:
	explicit basetest(const T&amp; value): m_var(value) {};
	virtual ~basetest() {};

	basetest&lt;T&gt;&amp; operator=(const T&amp; value);
};

template&lt;typename T&gt;
basetest&lt;T&gt;&amp; basetest&lt;T&gt;::operator=(const T&amp; value) {
	this-&gt;m_var = value;
	return *this;
};

class test: public basetest&lt;int&gt; {
public:
	test(): basetest(0) {};
	~test() {};
	int get() const { return this-&gt;m_var; };
};

// main.cpp
test a;
a = 100;
std::cout &lt;&lt; a.get() &lt;&lt; std::endl;
</code></pre>
<p>bekomme Error 1 error C2664: 'test::operator =' : cannot convert parameter 1 from 'int' to 'const test &amp;' Project<br />
bitte mich aufzuklaeren, danke sehr</p>
<p>wenn ich folgende aendere, wie findet ihr das</p>
<pre><code class="language-cpp">template &lt;typename T1, typename T2&gt;
class basetest: public CObject {
	void IncObjectSize(){};
	void DecObjectSize(){};

protected:
	T1		m_var;

public:
	explicit basetest(const T1&amp; value): m_var(value) {};
	virtual ~basetest() {};

	T2&amp; operator=(const T1&amp; value);
};

template&lt;typename T1, typename T2&gt;
T2&amp; basetest&lt;T1, T2&gt;::operator=(const T1&amp; value) {
        T2 testvar
	testvar.m_var = value;
	return testvar;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1779688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1779688</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Wed, 16 Sep 2009 10:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse Frage on Wed, 16 Sep 2009 10:51:14 GMT]]></title><description><![CDATA[<p>Du weist dem Objekt deiner Klasse einen Wert zu, das geht nicht. Warum machst du für soetwas einen neuen Thread auf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1779709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1779709</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Wed, 16 Sep 2009 10:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse Frage on Wed, 16 Sep 2009 11:00:19 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Du weist dem Objekt deiner Klasse einen Wert zu, das geht nicht. Warum machst du für soetwas einen neuen Thread auf?</p>
</blockquote>
<p>kannst bitte genauer erklaeren? warum geht nicht, zuweisungsoperator is doch vererbt.</p>
<p>@neuer thread, ich dachte neue fragen, neuer thread, hab irgendwo gelesen, aber wenn das nicht der fall is, sorry.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1779711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1779711</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Wed, 16 Sep 2009 11:00:19 GMT</pubDate></item><item><title><![CDATA[Reply to Template Klasse Frage on Wed, 16 Sep 2009 11:40:32 GMT]]></title><description><![CDATA[<p>JnZn558 schrieb:</p>
<blockquote>
<p>kannst bitte genauer erklaeren? warum geht nicht, zuweisungsoperator is doch vererbt.</p>
</blockquote>
<p>weil der op= von test den op= von basetest verdeckt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1779737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1779737</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 16 Sep 2009 11:40:32 GMT</pubDate></item></channel></rss>