P
MrFryze schrieb:
Is egal ob du ein string oder ein Array verwendest. Ich habe immer mit arrays programmiert, weil ich es so gelernt habe.
Arrays verwendet man heute aber eigentlich nicht mehr.
std::vector ist ein guter ersatz dafür, welcher gleich auch
noch das Speichermanagemanet übernimmt, und zu dem dynamisch ist.
Die Daten der Klasse kannst du dann über den op<< bzw. op>> in die Datei
schreiben / lesen.
Hier mal n kurzes Beispiel:
/* Header */
#include <iostream>
#include <string>
class SQLQuery
{
struct date {int t,m,j,std,min;};
public:
SQLQuery(){}
std::string Getquery();
void Setsql_query(std::string Sql_query);
date Getdatum();
double Gettime();
public:
SQLQuery(std::string sql, double time, int tag, int monat, int jahr, int stunde, int minute);
virtual ~SQLQuery();
SQLQuery(const SQLQuery& copy);
SQLQuery& operator=(const SQLQuery& copy);
friend std::ostream& operator<<(std::ostream& o,SQLQuery& q);
friend std::istream& operator>>(std::istream& i,SQLQuery& q);
private:
std::string sql_query;
date datum;
double time;/*seconds*/
};
/* cpp */
#include "SQLQuery.h"
// SQLQuery
SQLQuery::SQLQuery(std::string sql, double time, int tag, int monat, int jahr, int stunde, int minute):sql_query(sql),time(time)
{
datum.t = tag;
datum.m = monat;
datum.j = jahr;
datum.std = stunde;
datum.min = minute;
}
std::ostream& operator<<(std::ostream& o,SQLQuery& q)
{
o.write((const char*)&q.datum,sizeof(SQLQuery::date));
o << q.time << q.sql_query<< std::endl;
return o;
}
std::istream& operator>>(std::istream& i,SQLQuery& q)
{
i.read((char*)&q.datum,sizeof(SQLQuery::date));
i >> q.time;
std::getline(i,q.sql_query);
return i;
}
Devil