tsluga
07-04-2007, 18:23
Hi !
Mal folgender Code
#include <iostream>
#include <typeinfo>
#include <vector>
class Fahrzeug
{
public:
Fahrzeug(const int raeder)
:_raeder(_raeder)
{
}
const int getRaeder(void)const {
return _raeder;
}
virtual bool isOfType(const Fahrzeug &object){
return ( typeid(*this) == typeid(object));
}
private:
int _raeder;
};
class BMW : public Fahrzeug
{
public:
BMW(const char* serie)
:Fahrzeug(4),
_serie(serie)
{}
const char *getSerie(void) {
return _serie;
}
private:
const char *_serie;
};
class Audi : public Fahrzeug
{
public:
Audi(const char* serie)
:Fahrzeug(4),
_serie(serie)
{}
const char* getSerie(void) {
return _serie;
}
private:
const char *_serie;
};
typedef std::vector<Fahrzeug> auto_liste;
auto_liste einkauf;
template <typename T1, typename T2, typename T3>
void append(T1 auto_1, T2 auto_2, T3 auto_3)
{
einkauf.push_back(auto_1);
einkauf.push_back(auto_2);
einkauf.push_back(auto_3);
std::cout<< ( auto_1.isOfType(auto_2) ? "gleiche Marke" : "unterschiedliche Marken" ) <<std::endl;
std::cout<< ( auto_2.isOfType(auto_3) ? "gleiche Marke" : "unterschiedliche Marken" ) <<std::endl;
// einkauf nun per Netzwerk verschicken und an einem anderen PC die Daten auslesen
}
int main(void)
{
Audi a("Audi 100");
Audi b("Audi A3");
BMW c("3er");
append(a,b,c);
return 0;
}
Ich will "einkauf" einkauf übers Netz an einen anderen PC verschicken und dort die einzelnen Fahrzeuge ( Audi , BMW usw ) wieder auslesen. Da ich aber im Vector nur "Fahrzeuge" speichere, gehen mit doch die anderen Informationen flüten oder nicht, also Sachen wie _serie ?
Das zweite Problem, wie kann ich überhaupt sowas wie einen Vector übers Netz verschicken ?
Mal folgender Code
#include <iostream>
#include <typeinfo>
#include <vector>
class Fahrzeug
{
public:
Fahrzeug(const int raeder)
:_raeder(_raeder)
{
}
const int getRaeder(void)const {
return _raeder;
}
virtual bool isOfType(const Fahrzeug &object){
return ( typeid(*this) == typeid(object));
}
private:
int _raeder;
};
class BMW : public Fahrzeug
{
public:
BMW(const char* serie)
:Fahrzeug(4),
_serie(serie)
{}
const char *getSerie(void) {
return _serie;
}
private:
const char *_serie;
};
class Audi : public Fahrzeug
{
public:
Audi(const char* serie)
:Fahrzeug(4),
_serie(serie)
{}
const char* getSerie(void) {
return _serie;
}
private:
const char *_serie;
};
typedef std::vector<Fahrzeug> auto_liste;
auto_liste einkauf;
template <typename T1, typename T2, typename T3>
void append(T1 auto_1, T2 auto_2, T3 auto_3)
{
einkauf.push_back(auto_1);
einkauf.push_back(auto_2);
einkauf.push_back(auto_3);
std::cout<< ( auto_1.isOfType(auto_2) ? "gleiche Marke" : "unterschiedliche Marken" ) <<std::endl;
std::cout<< ( auto_2.isOfType(auto_3) ? "gleiche Marke" : "unterschiedliche Marken" ) <<std::endl;
// einkauf nun per Netzwerk verschicken und an einem anderen PC die Daten auslesen
}
int main(void)
{
Audi a("Audi 100");
Audi b("Audi A3");
BMW c("3er");
append(a,b,c);
return 0;
}
Ich will "einkauf" einkauf übers Netz an einen anderen PC verschicken und dort die einzelnen Fahrzeuge ( Audi , BMW usw ) wieder auslesen. Da ich aber im Vector nur "Fahrzeuge" speichere, gehen mit doch die anderen Informationen flüten oder nicht, also Sachen wie _serie ?
Das zweite Problem, wie kann ich überhaupt sowas wie einen Vector übers Netz verschicken ?