<?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[hm problem lösbar mit templates]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich habe eine Tempaltes Classe Parameter:</p>
<pre><code>class CParameter{
	std::pair&lt;char,T&gt;  m_PairParameter;
	public:
		CSignalParameter(char, T);
};

template &lt;class T&gt;
CParameter&lt;T&gt;::CParameter(char nDC, T Parameter){
	m_PairParameter.first = nDC;
	m_PairParameter.second = Parameter;
}
</code></pre>
<p>der 2-te Parameter der pair kann einen string oder einen unsigned short sein</p>
<p>Instanzen der Classe CParameter werden in dem Vector m_theParameters eingespeist</p>
<pre><code>class CParameterContainer  {
private:
	std::vector&lt;CParameter&lt;class T&gt;*&gt; m_theParameters;
public:
        bool pushParameter(std::string, char, unsigned short);
	bool pushParameter(std::string, char, std::string);
</code></pre>
<p>über die Functionen: pushParameter</p>
<p>die definition der Functionen schaut so aus:</p>
<pre><code>bool CParameterTable::pushSignalParameter(string strSignalName, char nDC, string strParameter){
	CParameterContainer&lt;std::string&gt;* theStringParameter = new CParameterContainer&lt;std::string&gt;(nDC,strParameter);
	m_theParameters.push_back(theStringParameter);
	return true;
}
</code></pre>
<p>für strings und für unsigned shorts:</p>
<pre><code>bool CParameterTable::pushSignalParameter(string strSignalName, char nDC, unsigned short nParameter){
	CParameterContainer&lt;std::string&gt;* theShortParameter = new CParameterContainer&lt;std::string&gt;(nDC,nParameter);
	m_theParameters.push_back(theShortParameter);
	return true;
}
</code></pre>
<p>leider meckert der compiler, dass die classe T definiert sein soll bei der declaration von m_theParameters.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128691/hm-problem-lösbar-mit-templates</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 20:10:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128691.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Dec 2005 12:05:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to hm problem lösbar mit templates on Tue, 06 Dec 2005 12:05:06 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich habe eine Tempaltes Classe Parameter:</p>
<pre><code>class CParameter{
	std::pair&lt;char,T&gt;  m_PairParameter;
	public:
		CSignalParameter(char, T);
};

template &lt;class T&gt;
CParameter&lt;T&gt;::CParameter(char nDC, T Parameter){
	m_PairParameter.first = nDC;
	m_PairParameter.second = Parameter;
}
</code></pre>
<p>der 2-te Parameter der pair kann einen string oder einen unsigned short sein</p>
<p>Instanzen der Classe CParameter werden in dem Vector m_theParameters eingespeist</p>
<pre><code>class CParameterContainer  {
private:
	std::vector&lt;CParameter&lt;class T&gt;*&gt; m_theParameters;
public:
        bool pushParameter(std::string, char, unsigned short);
	bool pushParameter(std::string, char, std::string);
</code></pre>
<p>über die Functionen: pushParameter</p>
<p>die definition der Functionen schaut so aus:</p>
<pre><code>bool CParameterTable::pushSignalParameter(string strSignalName, char nDC, string strParameter){
	CParameterContainer&lt;std::string&gt;* theStringParameter = new CParameterContainer&lt;std::string&gt;(nDC,strParameter);
	m_theParameters.push_back(theStringParameter);
	return true;
}
</code></pre>
<p>für strings und für unsigned shorts:</p>
<pre><code>bool CParameterTable::pushSignalParameter(string strSignalName, char nDC, unsigned short nParameter){
	CParameterContainer&lt;std::string&gt;* theShortParameter = new CParameterContainer&lt;std::string&gt;(nDC,nParameter);
	m_theParameters.push_back(theShortParameter);
	return true;
}
</code></pre>
<p>leider meckert der compiler, dass die classe T definiert sein soll bei der declaration von m_theParameters.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935648</guid><dc:creator><![CDATA[darkstar2000]]></dc:creator><pubDate>Tue, 06 Dec 2005 12:05:06 GMT</pubDate></item><item><title><![CDATA[Reply to hm problem lösbar mit templates on Tue, 06 Dec 2005 12:13:27 GMT]]></title><description><![CDATA[<p>Du mußt die Containerklasse auch als Template definieren, damit du eine Zuordnung zu den Parametertypen bekommst. (und btw sind CParameter&lt;short&gt; und CParameter&lt;string&gt; zwei völlig verschiedene Typen, die kannst du nicht in einen Vektor packen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935654</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 06 Dec 2005 12:13:27 GMT</pubDate></item><item><title><![CDATA[Reply to hm problem lösbar mit templates on Tue, 06 Dec 2005 12:30:20 GMT]]></title><description><![CDATA[<p>ok wenn die CParameter-Classe abstract is, und dann 2 abgeleitete Classen CShortParameter und CStringParameter. Dann die Parameter über Polymorphie in dem Vector einspeisen.</p>
<p>ist lösung mit templates unbrauchbar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935665</guid><dc:creator><![CDATA[darkstar2000]]></dc:creator><pubDate>Tue, 06 Dec 2005 12:30:20 GMT</pubDate></item><item><title><![CDATA[Reply to hm problem lösbar mit templates on Tue, 06 Dec 2005 12:34:59 GMT]]></title><description><![CDATA[<p>darkstar2000 schrieb:</p>
<blockquote>
<p>ok wenn die CParameter-Classe abstract is, und dann 2 abgeleitete Classen CShortParameter und CStringParameter. Dann die Parameter über Polymorphie in dem Vector einspeisen.</p>
</blockquote>
<p>Ja, das wäre eine Lösung</p>
<blockquote>
<p>ist lösung mit templates unbrauchbar?</p>
</blockquote>
<p>Für deine Anwendung: JA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935667</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 06 Dec 2005 12:34:59 GMT</pubDate></item></channel></rss>