Ich arbeite an einer Vererbung Aufgabe und wollte zunächst meine Basisklasse mit seinen Setter & Getters & Konstruktoren testen, aber ich bin schon an einer Wand. Was ist los mit meinem Konstruktor? Ich würde normalerweise nur einen Konstruktor ohne Argumente verwenden und die Setter und Getter verwenden, um das Objekt zu erstellen, aber wir werden ausdrücklich angewiesen, beide Arten von Konstruktoren zu verwenden. Kann mir jemand helfen?C++ Typ bietet keinen Anruf Operator Fehler?
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
class Ship
{
public:
Ship();
Ship(string theName, int theYear);
string getName();
void setName(string);
int getYear();
void setYear(int);
void printInfo();
private:
string name;
int yearBuilt;
};
Ship:: Ship()
{
name = "";
yearBuilt = 0;
}
Ship:: Ship(string theName, int theYear)
{
name = theName;
yearBuilt = theYear;
}
string Ship::getName()
{
return name;
}
void Ship::setName(string newName)
{
name = newName;
}
int Ship:: getYear()
{
return yearBuilt;
}
void Ship:: setYear(int newYear)
{
yearBuilt = newYear;
}
void Ship:: printInfo()
{
cout << "Name: " << name << endl;
cout << "Year built: " << yearBuilt << endl;
}
int main()
{
Ship lilCutie;
lilCutie("Boat", 1993);
lilCutie.printInfo();
return 0;
}
Ich denke, Sie wollen 'Schiff lilCutie (" Boat ", 1993);'. – songyuanyao
Ja, das ist die Zeile, die den Fehler wirft. – jestrada
Oh mein Gott, ich sehe was du sagst. Ich denke, ich habe keine Argument Konstruktoren zu lange haha. Danke!!!!!! – jestrada