在有问题加入群151988677,找千里
#include
using namespace std;
class person
{
protected:
int num;
char name;
public:
person(int num=0,char name='\0'){this->num=num;this->name=name;}//这里没函数person实现,也没有无参数的构造函数,形参改为我这样后,默认num=0,name='\0'
void display1(){cout<<"please input personal information"<
};
class student:protected person
{public:
student(int num=0,char name='\0',int grade=0,float score=0):person(num,name){}//同上
void out1()
{display1();
cin>>num>>name>>grade>>score;
display2();
cout<<"score:"<
private:
int grade;
float score;
};
class teacher:protected person
{public:
teacher(int num=0,char name='\0',char position='\0',char section='\0'):person(num,name){}//同上
void out2()
{display1();
cin>>num>>name>>position>>section;
display2();
cout<<"section:"<
private:
char section;
char position;
};
int main()
{student stu;//调用无参数的默认构造函数student
teacher tea;//同上
stu.out1();
tea.out2();
return 0;
}
你的构造函数为什么没用?构造函数就是给你初始化对象的。