首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问关于有友员的一个有关问题,再现等

2012-03-01 
请教关于有友员的一个问题,再现等我用vc编译的,错误在代码中指出#includestdafx.h #includeiostream #

请教关于有友员的一个问题,再现等
我用vc编译的,错误在代码中指出
#include   "stdafx.h "
#include   "iostream "
#include   "string "
using   namespace   std;

class   Student;
class   Teacher;
class   Student{
          int   hours;
  int   grades;
  string   name;
          public:
Student(){hours=0;grades=0;name= "zhangsan ";}
Student(int   h,int   g,string   n){hours=h;grades=g;name=n;}
void   getinfo(){cout < <name < < "学时 " < <hours < < "   成绩 " < <grades < <endl;}
friend   void   Teacher::assigndrade(Student&   ss);     //   error   C2027:   使用了未定义类型“Teacher”
                friend   void   Teacher::assighours(Student&   ss);       //   error   C2027:   使用了未定义类型“Teacher”
};
class   Teacher{
        Student   s;
int   num;
        public:
Teacher(){num=113206;}
void   assigndrade(Student&   ss);
void   assighours(Student&   ss);
void   getinfo(){cout < <num < <endl;s.getinfo();}
};
void   Teacher::assigndrade(Student&   ss){ss.grades=80;}//   error   C2248:   “Student::grades”:   无法访问   private   成员(在“Student”类中声明)
void   Teacher::assighours(Student&   ss){ss.hours=216;}//   error   C2248:   “Student::grades”:   无法访问   private   成员(在“Student”类中声明)

int   main(int   argc,   _TCHAR*   argv[])
{    
Student   s1;
s1.getinfo();
Teacher   t1;
t1.assighours(s1);
t1.getinfo();
        return   0;
}




[解决办法]
friend void Teacher::assigndrade(Student& ss); // error C2027: 使用了未定义类型“Teacher”
friend void Teacher::assighours(Student& ss); // error C2027: 使用了未定义类型“Teacher”
这里改成
friend class Teacher;一切都可以了~

热点排行