#include<iostream>
using namespace std;
class StudentClass{
friend class Oopclass;
public:
StudentClass();
void setStudentData();
void printStudentScore();
StudentClass* next;
~StudentClass();
private:
string std_ID;
int sID, sMid, sFin, sOP, hw[3];
double sTotal;
};
class OopClass{
friend class StudentClass;
public:
OopClass();
void setOopData();
void printOopScore();
void queryOopScore();
void findOopAverageScore();
void addStudentData();
void deleteStudentData();
void updateStudentData();
~OopClass();
private:
string professor, subject;
int cSn;
double cSAvg;
StudentClass* cSAddr;
};
int main(int argc, char **argv){
OopClass Info[3];
Info[0].setOopData();
return 0;
}
StudentClass::StudentClass(){
}
void StudentClass(){
}
void StudentClass::setStudentData() {
}
StudentClass::~StudentClass(){
}
OopClass::OopClass(){
}
void OopClass::setOopData() {
cout << "Professor?" << endl;
cin >> professor;
cout << "Subject?" << endl;
cin >> subject;
cout << "How many students do you want to input ?" << endl;
int number = 0;
cin >> number;
cSAddr = new StudentClass;
//for(int i = 0; i < number; i ++) setStudentData();
}
OopClass::~OopClass(){
}
When I tired to write “cSAddr = new StudentClass;” ,it come up to
error about
” C:\Users\lypan\Documents\final.cpp In member function ‘void
OopClass::setOopData()’:63 14 C:\Users\lypan\Documents\final.cpp [Error] expected
type-specifier before ‘StudentClass’63 14 C:\Users\lypan\Documents\final.cpp [Error] invalid conversion
from ‘int*’ to ‘int’ [-fpermissive]63 14 C:\Users\lypan\Documents\final.cpp [Error] expected ‘,’ or ‘;’
before ‘StudentClass’ “
And I have no idea why I do wrong, please tell me what I make mistake. Thx!
The only error here is that you didn’t implement the constructors for your classes. But that should yield a linker error.
This probably isn’t your code, but it might be that you don’t include
StudentClass.handOopClass.h(or whatever) in the file where you defineOopClass::setOopData().EDIT:
you declare a function called
StudentClasson line 46 – http://codepad.org/9DP6zpHU – you probably forgot to qualify it.