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

请问一个C++笔试题

2012-02-24 
请教一个C++笔试题#includeiostreamusingnamespacestdclassPeople{private:charname[20]public:People

请教一个C++笔试题
#include   <iostream>
using   namespace   std;

class   People
{
private:
char   name[20];
public:
People(char*   str){strcmp(name,str);
}
void   Hello()
{
cout < < "People: " < <name < <endl;
}
protected:

};

class   Teach   :   public   People
{
private:
char   name[20];
public:
Teach(char*   str):People( "Teach "){strcmp(name,str);
}
void   Hello()
{
cout < < "Teach: " < <name < <endl;
}
};

class   Student   :   public   People
{
private:
char   name[20];
public:
Student(char*   str):People( "Student "){strcmp(name,str);
}
void   Hello()
{
cout < < "Student: " < <name < <endl;
}
};
void   main()
{
People   *p;
People   a( "wangwei ");
Teach   b( "yuyuan ");
Student   c( "qiaobing ");
p   =   &a;
p   -> Hello();

p   =   &b;
p   -> Hello();

p   =   &c;
p   -> Hello();
}

[解决办法]
strcmp 只是比较 两个c-string , 并不会给 name 赋值, 因此所有的 name 都没有初始值,
输出一堆乱码...

热点排行