$nooc
Mitglied
Hi Leute.. folgendes Problem..
Ich möchte eine Klasse instanzieren, aber mein Compiler meckert den oben genannten Error..
Da die klasse im Moment noch extrem klein ist poste ich den Header und die Quelldatei:
Die instanzierung sieht wie folgt aus:
Ich finde einfach den Fehler nicht.. es wird wohl nur eine Kleinigkeit sein, aber die hält mich im Moment leider ziemlich auf. Das ist ein Projekft für die Uni und ich muss das bald mal fertigstellen.
Hoffe mir kann da jemand helfen oder mir einen Tipp geben was ich falsch mache.
Zu beachten ist vielleicht dass die Klasse "Text" von der abstrakten Klasse "SVGObject" erbt. wenn jemand den Code auch noch lesen will kann ich den gerne ebenfalls posten.
Vielen Dank für die Hilfe!
Ich möchte eine Klasse instanzieren, aber mein Compiler meckert den oben genannten Error..
Da die klasse im Moment noch extrem klein ist poste ich den Header und die Quelldatei:
C++:
// Header
#ifndef TEXT_H_INCLUDED
#define TEXT_H_INCLUDED
#include <string>
#include "svgobject.h"
#include "point.h"
class Text : public virtual SVGObject
{
public:
Text(const std::string &text, int x, int y, int font_size,
const std::string &fill, int group_number);
virtual ~Text();
virtual void writeSVGTag(std::ostream& file);
virtual const char* getShortName();
private:
Text(const Text& svg_text);
const std::string &text_;
int x_;
int y_;
int font_size_;
const std::string &fill_;
int group_number_;
};
#endif // TEXT_H_INCLUDED
C++:
// Quelldatei
#include "text.h"
Text::Text(const std::string &text, int x, int y, int font_size,
const std::string &fill, int group_number)
: SVGObject(group_number), text_(text),
x_(x), y_(y), font_size_(font_size), fill_(fill)
{
}
void Text::writeSVGTag(std::ostream &file)
{
file << "<text x=\"" << x_ << "\" y=\"" << y_ << "\" font-size=\"";
file << font_size_ << "\" fill=\"" << fill_ << "\">" << text_ << "</text>";
}
const char* Text::getShortName()
{
return "tx";
}
Text::~Text()
{
}
Die instanzierung sieht wie folgt aus:
C++:
int AddText::execute()
{
int return_val = 0,
font_size = 0,
group = 0;
std::string *text = NULL,
*fill = NULL;
Point point;
Text *new_text;
io_.writeText(" text? ");
text = io_.readString();
point = readCoords();
io_.writeText(" font-size? ");
font_size = io_.readInteger();
io_.writeText(" fill? ");
fill = io_.readString();
io_.writeText(" group? ");
group = io_.readInteger();
new_text = new Text(text, point.x_coordinate, point.y_coordinate, font_size, fill, group);
svg_document_.addSVGObject(*new_text);
return return_val;
}
Ich finde einfach den Fehler nicht.. es wird wohl nur eine Kleinigkeit sein, aber die hält mich im Moment leider ziemlich auf. Das ist ein Projekft für die Uni und ich muss das bald mal fertigstellen.
Hoffe mir kann da jemand helfen oder mir einen Tipp geben was ich falsch mache.
Zu beachten ist vielleicht dass die Klasse "Text" von der abstrakten Klasse "SVGObject" erbt. wenn jemand den Code auch noch lesen will kann ich den gerne ebenfalls posten.
Vielen Dank für die Hilfe!
Zuletzt bearbeitet: