老人疝气的症状:为什么总是出现“undeclared identifier”?

来源:百度文库 编辑:高考问答 时间:2024/04/30 09:07:54
以下是我编的一个简单的c++程序但总是出现以上的情况:
#include<iostream.h>
class student
{
public:
student(int cno,int sno, int s1,int s2)
{
++Count;
Classno=cno;
Sno=sno;
Score1=s1;
Score2=s2;
Sum1+=Score1;
Sum2+=Score2;
Average1=Sum1/Count;
Average2=Sum2/Count;
}
student();
~student();
protect:
int Score1, Score2;
int Sno,Classno;
static int Sum1,Sum2,Average1,Average2;
static int Count;
};

int student::Sum1=0;
int student::Sum2=0;
int student::Average1=0;
int student::Average2=0;
int student::Count=0;

class teacher1
{
public:
teacher1(int classno,int sno,int score1,int score2);
~teacher1();
static int Get_Average(student st);
private:
student st;
};

teacher1::teacher1(int cno,int sno,int s1,int s2)
{
++Count;
st.Classno=cno;
st.Sno=sno;
st.Score1=s1;
st.Score2=s2;
student::Sum1+=Score1;
student::Sum2+=Score2;
student::Average1=Sum1/Count;
student::Average2=Sum2/Count;
}

teacher1::Get_Average(student st)
{
cout<<"Classno="<<st.Classno<<endl;
cout<<"Average1="<<st.Average1<<endl;
cout<<"Average2="<<st.Average2<<endl;
}

void main()
{
st1(0402,1114,80,90),st2(0402,1113,80,90);
teacher1 t1;
t1.Get_Average(st1);
t1.Get_Average(st2);
}
teacher1类的构造函数该怎么改?

很多错误,
1:
teacher1::teacher1(int cno,int sno,int s1,int s2)
{
++Count; // 错,Count 没有在teacher1中声明,不是成员,
.....
2.teacher1::teacher1(int cno,int sno,int s1,int s2)
{
++Count;
st.Classno=cno;
st.Sno=sno;
st.Score1=s1;//不能直接访问对象的protect成员
st.Score2=s2;
.....
还有很多,先看看书吧.

说老实话,看到定义teacher1类的构造函数就看不下去了

http://zhidao.baidu.com/question/1049817.html

看看这里,其实我也不太懂编程:)