<?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[Design PAttern Factory]]></title><description><![CDATA[<p>hallo, hab eine kleine frage,</p>
<p>kann mir wer ein ausprogrammiertes, kleiens BSP mit dem Design Pattern FActory schicken?<br />
ich bräcuhte es um jeweils zwei andere Objekte zu erstellen</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172201/design-pattern-factory</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 23:40:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172201.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Feb 2007 11:21:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Design PAttern Factory on Fri, 02 Feb 2007 11:21:03 GMT]]></title><description><![CDATA[<p>hallo, hab eine kleine frage,</p>
<p>kann mir wer ein ausprogrammiertes, kleiens BSP mit dem Design Pattern FActory schicken?<br />
ich bräcuhte es um jeweils zwei andere Objekte zu erstellen</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221649</guid><dc:creator><![CDATA[Duke79]]></dc:creator><pubDate>Fri, 02 Feb 2007 11:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to Design PAttern Factory on Fri, 02 Feb 2007 11:33:03 GMT]]></title><description><![CDATA[<p><a href="http://home.earthlink.net/~huston2/dp/patterns.html" rel="nofollow">http://home.earthlink.net/~huston2/dp/patterns.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1221661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221661</guid><dc:creator><![CDATA[Patternlehrer]]></dc:creator><pubDate>Fri, 02 Feb 2007 11:33:03 GMT</pubDate></item><item><title><![CDATA[Reply to Design PAttern Factory on Fri, 02 Feb 2007 11:44:56 GMT]]></title><description><![CDATA[<p>Das Entwurfsmuster <a href="http://de.wikipedia.org/wiki/Abstrakte_Fabrik" rel="nofollow">Abstrakte Fabrik</a> ist für die Erstellung verschiedener <strong>Gruppen</strong> von Produkten gedacht. Hier ein Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

class AutoFabrik
{
public:
	virtual ~AutoFabrik(){}

	virtual std::string erstelleKarosserie() const = 0;
	virtual std::string erstelleMotor() const = 0;
};

class OpelFabrik : public AutoFabrik
{
public:
	virtual ~OpelFabrik(){}

	virtual std::string erstelleKarosserie() const
	{
	    return &quot;Opel Karosserie&quot;;
    }

	virtual std::string erstelleMotor() const
	{
	    return &quot;Opel Motor&quot;;
	}
};

class AudiFabrik : public AutoFabrik
{
public:
	virtual ~AudiFabrik(){}

	virtual std::string erstelleKarosserie() const
	{
	    return &quot;Audi Karosserie&quot;;
    }

	virtual std::string erstelleMotor() const
	{
	    return &quot;Audi Motor&quot;;
	}
};

void fabrikation(const AutoFabrik &amp;fabrik)
{
    std::cout &lt;&lt; fabrik.erstelleMotor() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; fabrik.erstelleKarosserie() &lt;&lt; std::endl;
}

int main()
{
    fabrikation(OpelFabrik());
    fabrikation(AudiFabrik());
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1221673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1221673</guid><dc:creator><![CDATA[fabrikant]]></dc:creator><pubDate>Fri, 02 Feb 2007 11:44:56 GMT</pubDate></item><item><title><![CDATA[Reply to Design PAttern Factory on Sat, 27 Feb 2010 13:02:46 GMT]]></title><description><![CDATA[<p>nennt man das beispiel zuvor nicht Factory method?</p>
<p>eine Abstract Factiory ist doch eher folgende code? kann man das beispiel noch verbessern?</p>
<pre><code class="language-cpp">// This is the AbstractProduct
class Car
{
public:
    virtual void DisplayModel () = 0;
};

// This is a ConcreteProduct
class Maruthi : public Car
{
public:
    virtual void DisplayModel ()
    {
        cout &lt;&lt; &quot;Maruthi&quot; &lt;&lt; endl;
    }
};

// This is another ConcreteProduct
class Ferrari : public Car
{
public:
    virtual void DisplayModel ()
    {
        cout &lt;&lt; &quot;Ferrari&quot; &lt;&lt; endl;
    }
};

// This is the AbstractCreator
class CarFactory
{
public:
    // This is the abstract declaration of the Factory Method.
    virtual Car* CreateCar () = 0;
}

// This is a ConcreteCreator
class MaruthiFactory
{
public:
    // This is a Concrete definition of the Factory Method
    virtual Car* CreateCar ()
    {
        return new Maruthi();
    }
};

// This is a ConcreteCreator
class FerrariFactory
{
public:
    // This is a Concrete definition of the Factory Method
    virtual Car* CreateCar ()
    {
        return new Ferrari();
    }
};

int main (void)
{
    Car *c1, *c2;
    CarFactory *cf1, *cf2;

    cf1 = new MaruthiFactory ();
    cf2 = new FerrariFactory ();

    c1 = cf1-&gt;CreateCar ();
    c2 = cf2-&gt;CreateCar ();

    c1-&gt;DisplayModel (); // Displays &quot;Maruthi&quot;
    c2-&gt;DisplayModel (); // Displays &quot;Ferrari&quot;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1862046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1862046</guid><dc:creator><![CDATA[fabrikarbeiter]]></dc:creator><pubDate>Sat, 27 Feb 2010 13:02:46 GMT</pubDate></item></channel></rss>