valkon Δημοσ. 7 Ιουλίου 2014 Δημοσ. 7 Ιουλίου 2014 Έχω αυτόν τον κώδικα #include <iostream> #include <sstream> using namespace std; //Base Class class Employee { private: string name; double pay; public: Employee() { name =""; pay = 0; } Employee(string empName, double payRate){ name = empName; pay = payRate; } string getName(){ return name; } void setName(string empName){ name = empName; } double getPay() { return pay; } void setPay(double payRate) { pay = payRate; } string toString() { stringstream stm; stm <<name<<": "<< pay; return stm.str(); } }; //derived class class Manager : public Employee { private: bool salaried; public: Manager(string name, double payRate, bool isSalaried) : Employee(name, payRate) { salaried = isSalaried; } bool getSalaried() { return salaried; } }; int main() { Employee emp1("Jane",3500); Employee emp2("Bill",3200); cout<<emp1.toString()<<endl; cout<<emp2.toString()<<endl; Manager emp3("Bob",1500,true); cout<<emp3.toString()<<endl; cout<<emp3.getSalaried<<endl; return 0; } Και μου βγάζει αυτό εδώ το error no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and '<unresolved overloaded function type>') Έχω αλλάξει το cout , δηλαδή να δείχνει κάτι άλλο μέσα στο derived class Manager και βγάζει το ίδιο error. Έχει κανείς κάποια ιδέα; Έψαξα αρκετά , το έχουν και άλλοι αυτό το πρόβλημα αλλά μόνο σε templates. Λύθηκε. ξέχασα τις παρενθέσεις στο cout<<emp3.getSalaried()<<endl;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα