<?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[[Newbie Frage]: static Variable in Klassendeklaration]]></title><description><![CDATA[<p>Hallo<br />
...in meiner C++ Klasse hätte ich gerne eine static Variable. Grund: Diese Variable soll mir die Anzahl instanzen zurückgeben, die von dieser Klasse erstellt wurden. Inkrementierung würde im Konstruktor erfolgen.</p>
<p>Leider lässt sich der Code mit der static Variable innerhalb der Klassendeklaration nicht compilieren...</p>
<p>Muss ich also die Variable zwingend ausserhalb der Klasse definieren?</p>
<pre><code class="language-cpp">class MyClass{
 public:
  MyClass();
  virtual ~MyClass();

 private:
  static int m_iInstancesCount; // geht so nicht. weshalb nicht?
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/127191/newbie-frage-static-variable-in-klassendeklaration</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 01:09:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/127191.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Nov 2005 09:15:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Newbie Frage]: static Variable in Klassendeklaration on Tue, 22 Nov 2005 09:18:18 GMT]]></title><description><![CDATA[<p>Hallo<br />
...in meiner C++ Klasse hätte ich gerne eine static Variable. Grund: Diese Variable soll mir die Anzahl instanzen zurückgeben, die von dieser Klasse erstellt wurden. Inkrementierung würde im Konstruktor erfolgen.</p>
<p>Leider lässt sich der Code mit der static Variable innerhalb der Klassendeklaration nicht compilieren...</p>
<p>Muss ich also die Variable zwingend ausserhalb der Klasse definieren?</p>
<pre><code class="language-cpp">class MyClass{
 public:
  MyClass();
  virtual ~MyClass();

 private:
  static int m_iInstancesCount; // geht so nicht. weshalb nicht?
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/924069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924069</guid><dc:creator><![CDATA[sky21]]></dc:creator><pubDate>Tue, 22 Nov 2005 09:18:18 GMT</pubDate></item><item><title><![CDATA[Reply to [Newbie Frage]: static Variable in Klassendeklaration on Tue, 22 Nov 2005 09:20:32 GMT]]></title><description><![CDATA[<p>Ja, mußt du - und am besten legst du diese Definition in deine CPP-Datei:</p>
<pre><code class="language-cpp">//.H
class myClass
{
  static int count;
public:
  myClass();
  ~myClass();
  //...
};

//.CPP
#include &quot;myclass.h&quot;
int myClass::count=0;

myClass::myClass()
{
  ++count;
}

myClass::~myClass()
{
  --count;
}
</code></pre>
<p>Die Deklaration gibt nur den Namen und Typ der Variable vor - mit der Definition wird der Speicherplatz dafür reserviert (bei normalen Member-Variablen passiert das, wenn du ein myClass-Objekt anlegst, bei statischen Members mußt du selber dafür sorgen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/924072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/924072</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Tue, 22 Nov 2005 09:20:32 GMT</pubDate></item></channel></rss>