<?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[&amp;quot;abstract&amp;quot; Klassenhirarchie]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Klassenhirarchie die aus abstrakten (zum Teil auch &quot;pure virtual&quot; Klassen) besteht aufbauen. Bekomme jetzt schon bei einem recht einfachen Aufbau einen Compile Error.</p>
<p>Es gibt eine &quot;pure virtual&quot; Basisklasse</p>
<pre><code class="language-cpp">/*! Time-stamp: &lt;@(#)OSTCameraModel.h   07.05.2004 - 13:34:53   Gerd Keller&gt;
 *********************************************************************
 *  <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4518">@file</a>   : OSTCameraModel.h
 *
 *  Project : 
 *
 *  Package : 
 *
 *  Company : 
 *
 *  Author  : Gerd Keller                              Date: 07.05.2004
 *
 *  Purpose : Declaration of class 
 *
 *********************************************************************
 * Version History:
 *
 * V 0.10  07.05.2004  BN : First Revision
 *
 *********************************************************************
 */
#include &quot;cv.h&quot;

#if !defined(AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_)
#define AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_

#if _MSC_VER &gt; 1000
#pragma once
#endif // _MSC_VER &gt; 1000

/*!
CLASS
    OSTCameraModel 

    This class provides the interface for the Camera Model

USAGE
    &lt;More detailed description of the class and
        a summary of it's (public) operations&gt;.

*/
class OSTCameraModel  
{
public:
	// { CvMat* a; return a; }
	virtual CvMat* getP() = 0;
	virtual void sett( double Tx, double Ty, double Tz ) = 0;
	virtual void setR( double Rx, double Ry, double Rz ) = 0;
	virtual void setA( double f, double nf, double Cx, double Cy ) = 0;

	//virtual OSTCameraModel* clone() const = 0;
	OSTCameraModel() {}
	virtual ~OSTCameraModel() {}

//	virtual OSTCameraModel( const OSTCameraModel &amp;rhs ) = 0;
};

#endif // !defined(AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_)
</code></pre>
<p>und eine abgeleitete &quot;abstrakte&quot; Klasse</p>
<pre><code class="language-cpp">// OSTRadialDistCameraModel.h: Schnittstelle für die Klasse OSTRadialDistCameraModel.
//
//////////////////////////////////////////////////////////////////////
#include &quot;cv.h&quot;

#if !defined(AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_)
#define AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_

#if _MSC_VER &gt; 1000
#pragma once
#endif // _MSC_VER &gt; 1000

#include &quot;OSTRadialDistCameraModel.h&quot;

class OSTRadialDistCameraModel : public OSTCameraModel  
{
public:
	CvPoint unDistort( CvPoint aPoint );
	void calcP();
	OSTRadialDistCameraModel();
	virtual ~OSTRadialDistCameraModel();

	CvMat* getP();
	void sett( double Tx, double Ty, double Tz );
	void setR( double Rx, double Ry, double Rz );
	void setA( double f, double nf, double Cx, double Cy );

private:
	double radialDist;
	CvMat* A;
	CvMat* R;
	CvMat* t;

	CvMat* P;
};

#endif // !defined(AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_)
</code></pre>
<p>der Compile error ist:</p>
<p>--------------------Konfiguration: OSTStaticLib - Win32 Debug--------------------<br />
Kompilierung läuft...<br />
OSTRadialDistCameraModel.cpp<br />
c:\programme\microsoft visual studio\myprojects\transfer\opticalstereotracking\oststaticlib\ostradialdistcameramodel.h(17) : error C2504: 'OSTCameraModel' : Basisklasse undefiniert<br />
Fehler beim Ausführen von cl.exe.<br />
Browse-Informationsdatei wird erstellt...</p>
<p>OSTStaticLibD.lib - 1 Fehler, 0 Warnung(en)</p>
<p>Kann man überhaupt in C++ hirarchien aus abstrakten Klassen bilden?<br />
Was mache ich falsch?</p>
<p>MFG@gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/75962/quot-abstract-quot-klassenhirarchie</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 02:45:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/75962.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Jun 2004 15:46:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;abstract&amp;quot; Klassenhirarchie on Sun, 06 Jun 2004 15:46:30 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich möchte eine Klassenhirarchie die aus abstrakten (zum Teil auch &quot;pure virtual&quot; Klassen) besteht aufbauen. Bekomme jetzt schon bei einem recht einfachen Aufbau einen Compile Error.</p>
<p>Es gibt eine &quot;pure virtual&quot; Basisklasse</p>
<pre><code class="language-cpp">/*! Time-stamp: &lt;@(#)OSTCameraModel.h   07.05.2004 - 13:34:53   Gerd Keller&gt;
 *********************************************************************
 *  <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4518">@file</a>   : OSTCameraModel.h
 *
 *  Project : 
 *
 *  Package : 
 *
 *  Company : 
 *
 *  Author  : Gerd Keller                              Date: 07.05.2004
 *
 *  Purpose : Declaration of class 
 *
 *********************************************************************
 * Version History:
 *
 * V 0.10  07.05.2004  BN : First Revision
 *
 *********************************************************************
 */
#include &quot;cv.h&quot;

#if !defined(AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_)
#define AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_

#if _MSC_VER &gt; 1000
#pragma once
#endif // _MSC_VER &gt; 1000

/*!
CLASS
    OSTCameraModel 

    This class provides the interface for the Camera Model

USAGE
    &lt;More detailed description of the class and
        a summary of it's (public) operations&gt;.

*/
class OSTCameraModel  
{
public:
	// { CvMat* a; return a; }
	virtual CvMat* getP() = 0;
	virtual void sett( double Tx, double Ty, double Tz ) = 0;
	virtual void setR( double Rx, double Ry, double Rz ) = 0;
	virtual void setA( double f, double nf, double Cx, double Cy ) = 0;

	//virtual OSTCameraModel* clone() const = 0;
	OSTCameraModel() {}
	virtual ~OSTCameraModel() {}

//	virtual OSTCameraModel( const OSTCameraModel &amp;rhs ) = 0;
};

#endif // !defined(AFX_OSTCAMERAMODEL_H__25EF4061_F7EE_4F79_A78E_83C8200A5787__INCLUDED_)
</code></pre>
<p>und eine abgeleitete &quot;abstrakte&quot; Klasse</p>
<pre><code class="language-cpp">// OSTRadialDistCameraModel.h: Schnittstelle für die Klasse OSTRadialDistCameraModel.
//
//////////////////////////////////////////////////////////////////////
#include &quot;cv.h&quot;

#if !defined(AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_)
#define AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_

#if _MSC_VER &gt; 1000
#pragma once
#endif // _MSC_VER &gt; 1000

#include &quot;OSTRadialDistCameraModel.h&quot;

class OSTRadialDistCameraModel : public OSTCameraModel  
{
public:
	CvPoint unDistort( CvPoint aPoint );
	void calcP();
	OSTRadialDistCameraModel();
	virtual ~OSTRadialDistCameraModel();

	CvMat* getP();
	void sett( double Tx, double Ty, double Tz );
	void setR( double Rx, double Ry, double Rz );
	void setA( double f, double nf, double Cx, double Cy );

private:
	double radialDist;
	CvMat* A;
	CvMat* R;
	CvMat* t;

	CvMat* P;
};

#endif // !defined(AFX_OSTRadialDistCameraModel_H__74EB2398_30A0_4F71_A901_5016889E8C19__INCLUDED_)
</code></pre>
<p>der Compile error ist:</p>
<p>--------------------Konfiguration: OSTStaticLib - Win32 Debug--------------------<br />
Kompilierung läuft...<br />
OSTRadialDistCameraModel.cpp<br />
c:\programme\microsoft visual studio\myprojects\transfer\opticalstereotracking\oststaticlib\ostradialdistcameramodel.h(17) : error C2504: 'OSTCameraModel' : Basisklasse undefiniert<br />
Fehler beim Ausführen von cl.exe.<br />
Browse-Informationsdatei wird erstellt...</p>
<p>OSTStaticLibD.lib - 1 Fehler, 0 Warnung(en)</p>
<p>Kann man überhaupt in C++ hirarchien aus abstrakten Klassen bilden?<br />
Was mache ich falsch?</p>
<p>MFG@gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/534333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534333</guid><dc:creator><![CDATA[gkeller]]></dc:creator><pubDate>Sun, 06 Jun 2004 15:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;abstract&amp;quot; Klassenhirarchie on Sun, 06 Jun 2004 15:50:48 GMT]]></title><description><![CDATA[<p>Doch, kann man. Solltest du aber nicht besser #include &quot;OSTCameraModel.h&quot; statt #include &quot;OSTRadialDistCameraModel.h&quot; schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/534340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534340</guid><dc:creator><![CDATA[tag]]></dc:creator><pubDate>Sun, 06 Jun 2004 15:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;abstract&amp;quot; Klassenhirarchie on Mon, 07 Jun 2004 10:06:09 GMT]]></title><description><![CDATA[<p>besten dank Tag,</p>
<p>Ja der #include war es !</p>
<p>-* doofer Fehler</p>
<p>Die Compile error message schickt eine auch in die falsche Richtung</p>
<p>MFG@gerd</p>
]]></description><link>https://www.c-plusplus.net/forum/post/534885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/534885</guid><dc:creator><![CDATA[gkeller]]></dc:creator><pubDate>Mon, 07 Jun 2004 10:06:09 GMT</pubDate></item></channel></rss>