发布时间:2019-07-31 09:39:35
//有一个学生类student,包括学生姓名、成绩(私有变量),并声明教师类有教师工号,通过友元函数,友元类,友元成员函数,在教师类中显示学生成绩。
#include<iostream.h>
#include<string.h>
class student{
private:
char *name;
int grade;
public:
student(char *n,int g){
name=new char[strlen(n)+1];
strcpy(name,n);
grade=g;
}
friend void display(student &a);
friend class teacher;
};
void display(student &a){
cout<<""<<a.name<<""<<a.grade<<endl;
}
class teacher{
private:
char* name1;
double grade1;
public:
teacher(char* n1,double g1){
name1=new char[strlen(n1)+1];
strcpy(name1,n1);
grade1=g1;
}
void play(){
cout<<name1<<grade1;
}
};
int main(){
teacher t('jj',4.4);
t.play();
return 0;
}
运行就成这样
E:\00\1.cpp(36) : error C2664: '__thiscall teacher::teacher(char *,double)' : cannot convert parameter 1 from 'const int' to 'char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
执行 cl.exe 时出错.