-4
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
class employee
{
protected:
char nm[30];
float sal;
};
class manager:public employee
{
protected:
char dep[10];
public:
void input();
void disp();
};
void manager::input()
{
cout<<"enter name";
gets(nm);
cout<<"enter salary";
cin>>sal;
cout<<"enter dep";
gets(dep);
}
void manager::disp()
{
cout<<endl<<"manager name:"<<nm<<endl;
cout<<"salary:"<<sal<<endl;
cout<<"deptmt:"<<dep<<endl;
}
class executive:public manager
{
public:
void disp();
};
void executive::disp()
{
cout<<endl<<"executive"<<endl;
manager::disp();
}
int main()
{
manager m1;
m1.input();
executive e;
m1.disp();
e.disp();
return 0;
}
的代码看起来运行良好...但它显示垃圾值EXECUTIV的显示,即使显示和管理的输入做得很好。请告诉我代码的问题。程序正在运行,但导致垃圾值执行显示
你应该添加你的意思是“垃圾”,你认为应该是正确的。 – Hurkyl
你有一些非常讨厌的固定大小的数组,并且使用邪恶的'gets'来写入(也许超出)它们。使用C++字符串和本世纪的编译器;并格式化代码,以便其他人可以舒适地阅读它。 –
你听说过代码缩进吗?让代码易读是一件新事物 –