Hi guys.
I have written the following codes:
Professor.ccpand Course.cppCode:#include <iostream> #include <string> #include <conio.h> #include <vector> #include "Professor.h" using namespace std; int Professor::lastAssignedID=0; class Course; Professor::Professor():Person() {} Professor::Professor(string name, string ic, string gender): Person(name,ic,gender) { staffID=lastAssignedID; lastAssignedID+=1; } int Professor::getStaffID(){ return staffID; } Course* Professor::getCourse(string courseCode){ int i=-1; bool check=false; while (check==false){ i=i+1; if ((teachingCourses[i].getCourseName()).compare(courseCode)==0){ check=true; } } return teachingCourses[i]; } string Professor::getTeachingCourses(){ string result; for(int i=0;i<teachingCourses.size();i++){ if (i==0) result=result+(teachingCourses[i]).getCourseCode(); else result=result+","+(teachingCourses.get[i]).getCourseCode(); } return result; }
When I compile, the following errors appear:Code:#include <iostream> #include <string> #include <boost/xpressive/xpressive.hpp> #include "Course.h" #include "Professor.h" using namespace std; using namespace boost::xpressive; Professor tmp; Course::Course(string courseCode,string courseName,int modularCredits,Professor newProfessor) { setCourseCode(courseCode); setCourseName(courseName); setModularCredits(modularCredits); setProfessor(newProfessor); } void Course::setProfessor(Professor newProfessor) { tmp.setName(newProfessor.getName()); tmp.setGender(newProfessor.getGender()); tmp.setIC(newProfessor.getIC()); string line; line=tmp.getName(); theProfessor.setName(line); line=tmp.getIC(); theProfessor.setIC(line); line=tmp.getGender(); theProfessor.setGender(line); } string Course::getProfessor() { string tmp; tmp=theProfessor.getName(); return tmp; } void Course::setCourseName(string newCourseName) { courseName=newCourseName; } string Course::getCourseName() { return courseName; } void Course::setCourseCode(string newCourseCode) { sregex base=as_xpr('C')>>'S'>>(range('1','6'))>>repeat<3>(_d); if (regex_match(newCourseCode,base)==true){ courseCode=newCourseCode; } else{ cout<<"Invalid new Course Code"; } } string Course::getCourseCode(){ return courseCode; } void Course::setModularCredits(int newModularCredits) { modularCredits=newModularCredits; } int Course::getModularCredits() { return modularCredits; } /* string Course::toString() { return (courseCode+","+courseName+","+modularCredits); }*/
Basically the methods of class Course cannot be used in class Professor.19 C:\Dev-Cpp\Save\Professor.cpp prototype for `Course* Professor::getCourse(std::string)' does not match any in class `Professor'
15 C:\Dev-Cpp\Save\Professor.h Course* Professor::getCourse(std::string*)
C:\Dev-Cpp\Save\Professor.cpp In member function `Course* Professor::getCourse(std::string)':
24 C:\Dev-Cpp\Save\Professor.cpp `getCourseName' has not been declared
24 C:\Dev-Cpp\Save\Professor.cpp request for member of non-aggregate type before '(' token
C:\Dev-Cpp\Save\Professor.cpp In member function `std::string Professor::getTeachingCourses()':
35 C:\Dev-Cpp\Save\Professor.cpp `getCourseCode' has not been declared
35 C:\Dev-Cpp\Save\Professor.cpp request for member of non-aggregate type before '(' token '
37 C:\Dev-Cpp\Save\Professor.cpp 'class std::vector<Course*, std::allocator<Course*> >' has no member named 'get'
How to solve this problem?



LinkBack URL
About LinkBacks



