Alex Duschek
möp
Hey, ich versuche gerade über die Klasse auf eine Methode zuzugreifen, aber anscheinend läuft das in C++ etwas anders als in Java. Ich kriegs jedenfalls nicht hin.
speicher ist ein Vector gefüllt mit Objekten und die Methode soll einfach nur die Objekte ausgeben
fahrzeug.cpp:
Aus der main.cpp:
So gehts nicht, er will ein Objekt haben und nicht die Klasse. Hab diverse Varianten mit "static" versucht. Nur die Methode, nur den Vector und beides aber er bringt mir meistens den Fehler "cannot declare member function `static void Fahrzeug:rintVectorItems()' to have static linkage". Bin grad echt etwas ratlos. In Java müsste ich doch nur die Methode static machen und könnte dann über die Klasse drauf zugreifen Wie ist das bei C++?
speicher ist ein Vector gefüllt mit Objekten und die Methode soll einfach nur die Objekte ausgeben
fahrzeug.cpp:
Code:
// Array Ausgabe
void Fahrzeug::printVectorItems() {
std::cout << "--- Ihr Fahrzeugbestand ---" << std::endl;
if (!speicher.size() == 0) {
for (unsigned int i = 0; i < speicher.size(); i++) {
std::cout << "--------------------------" << std::endl;
std::cout << "Fahrzeug " << i << std::endl;
std::cout << "Name: " << speicher.at(i).fName << std::endl;
std::cout << "Typ: " << speicher.at(i).fType << std::endl;
std::cout << "Gewicht: " << speicher.at(i).fWeight << std::endl;
}
}
}
Aus der main.cpp:
Code:
break;
// Bestehendes Fahrzeug löschen
case 2:
Fahrzeug::printVectorItems();
break;
case 3:
break;
So gehts nicht, er will ein Objekt haben und nicht die Klasse. Hab diverse Varianten mit "static" versucht. Nur die Methode, nur den Vector und beides aber er bringt mir meistens den Fehler "cannot declare member function `static void Fahrzeug:rintVectorItems()' to have static linkage". Bin grad echt etwas ratlos. In Java müsste ich doch nur die Methode static machen und könnte dann über die Klasse drauf zugreifen Wie ist das bei C++?