<?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[Standardkonform?]]></title><description><![CDATA[<p>Hallo.<br />
Kann mir einer von euch sagen ob folgender code dem c++ standard enstpricht?</p>
<pre><code class="language-cpp">class base1
{
public:
   virtual void foo() = 0;
};

class base2
{
public:
  virtual void foo() = 0;
};

class impl : public base1, public base2
{
public:
  virtual void base1::foo() {
     //...
   }
   virtual void base2::foo() {
    //...
  }
};
</code></pre>
<p>VC++ 6 mag es nicht, VC++ 7 mag es, auch ohne code language extensions. Mit mehr konnte ich es noch nicht testen (wäre coole wenn es einer von euch durch nen GNU compiler jagen könnte und sagen könnte ob der das frisst oder nicht).</p>
<p>Thx!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121460/standardkonform</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 17:36:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121460.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Sep 2005 13:30:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 13:42:11 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Kann mir einer von euch sagen ob folgender code dem c++ standard enstpricht?</p>
<pre><code class="language-cpp">class base1
{
public:
   virtual void foo() = 0;
};

class base2
{
public:
  virtual void foo() = 0;
};

class impl : public base1, public base2
{
public:
  virtual void base1::foo() {
     //...
   }
   virtual void base2::foo() {
    //...
  }
};
</code></pre>
<p>VC++ 6 mag es nicht, VC++ 7 mag es, auch ohne code language extensions. Mit mehr konnte ich es noch nicht testen (wäre coole wenn es einer von euch durch nen GNU compiler jagen könnte und sagen könnte ob der das frisst oder nicht).</p>
<p>Thx!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878615</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 13:33:24 GMT]]></title><description><![CDATA[<p>Was sollte da jetzt nicht Standardkonform sein? Anders würde ich es auch nicht machen. Bzw. wie würdest du es alternativ machen?</p>
<p>Und warum sollte der gcc stanardkonformer als der msvc7.1 sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878617</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:33:24 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 13:37:41 GMT]]></title><description><![CDATA[<p>Comeau Compiler kannste noch testen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878622</guid><dc:creator><![CDATA[comeau.]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:37:41 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 15:28:49 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Was sollte da jetzt nicht Standardkonform sein?</p>
</blockquote>
<p>Keine ahnung, um das rauszufinden hab ich den post gemacht, also kann ich dir jetzt, nach deiner aussage, sagen: nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title="=)"
      alt="🙂"
    /></p>
<p>Artchi schrieb:</p>
<blockquote>
<p>Anders würde ich es auch nicht machen. Bzw. wie würdest du es alternativ machen?</p>
</blockquote>
<p>Da es VC++ 6 nicht schluckt, über unter-objekte... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Artchi schrieb:</p>
<blockquote>
<p>Und warum sollte der gcc stanardkonformer als der msvc7.1 sein?</p>
</blockquote>
<p>Hab ich das behauptet? <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="🤡"
    /> Gibt nur hin und wieder ein paar c++ konstrukte die auf 50% der compiler laufen und auf 50% nicht. Auf VC++ 6 läuft das oben schon mal nicht. Wollte nur wissen ob es GNU schluckt, oder ob die auch rumziecken <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/878628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878628</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 23 Sep 2005 15:28:49 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 13:49:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Mein MinGW spuckt Fehlermeldungen aus<br />
&quot;cannot declare member function 'base1::foo' within 'imp1'&quot;<br />
&quot;cannot declare member function 'base2::foo' within 'imp1'&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878629</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 23 Sep 2005 13:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 15:09:28 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>Mein MinGW spuckt Fehlermeldungen aus<br />
&quot;cannot declare member function 'base1::foo' within 'imp1'&quot;<br />
&quot;cannot declare member function 'base2::foo' within 'imp1'&quot;</p>
</blockquote>
<p>das gleiche bekommt man bei gcc version 3.3.5</p>
]]></description><link>https://www.c-plusplus.net/forum/post/878677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878677</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Fri, 23 Sep 2005 15:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 15:20:13 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Was sollte da jetzt nicht Standardkonform sein?</p>
</blockquote>
<p>Ganz einfach, das:</p>
<pre><code class="language-cpp">class impl : public base1, public base2
{
public:
  virtual void base1::foo() {
     //...
   }

   virtual void base2::foo() {
    //...
  }
};
</code></pre>
<blockquote>
<p>Anders würde ich es auch nicht machen.</p>
</blockquote>
<p>Was leider nichts an den Tatsachen ändert <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="😉"
    /></p>
<blockquote>
<p>Bzw. wie würdest du es alternativ machen?</p>
</blockquote>
<p>In Standard-C++ müsse die siamesischen Zwillinge durch eine explizite Indirektion getrennt werden:</p>
<pre><code class="language-cpp">class base1
{
public:
   virtual void foo() = 0;
};

class base2
{
public:
  virtual void foo() = 0;
};

// Indirektion:
class Base1Indirect : public base1 {
public:
    void foo() {
       base1Foo();
    }
   virtual void base1Foo() = 0;
};

class Base2Indirect : public base2 {
public:
   void foo() {
       base2Foo();
   }

   virtual void base2Foo() = 0;
};

class impl : public Base1Indirect, public Base2Indirect 
{
public:
  // foo wird nicht überschrieben

  virtual void base1Foo() {
     //...
   }
   virtual void base2Foo() {
    //...
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/878688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878688</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 23 Sep 2005 15:20:13 GMT</pubDate></item><item><title><![CDATA[Reply to Standardkonform? on Fri, 23 Sep 2005 15:25:13 GMT]]></title><description><![CDATA[<p>Thx! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Wäre auch zu schön gewesen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/878695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/878695</guid><dc:creator><![CDATA[CMatt]]></dc:creator><pubDate>Fri, 23 Sep 2005 15:25:13 GMT</pubDate></item></channel></rss>