注册 登录
编程论坛 C++教室

求编程牛人帮忙解决下小问题,急~~~

baojin 发布于 2009-11-30 14:33, 500 次点击
实验4内容:
1.     有如下一个类层次,每一个国家的人都会用自己的母语说你好,用相应的函数描述就是
                                  人
           
        
              中国人            法国人            美国人

其中中国人,法国人,美国人都是人的继承类。
SayHello()
{
   Cout<<”Say Hello in”<<motherlanguage<<endl;
}
 
请将上述函数作为类的成员函数,编写一个程序,其中基类名为CMAN,并用如下的代码测试你的程序:
 
CMAN *p;
P=&(你写的继承类的对象);
p->SayHello();
 
要求给出程序的执行结果(每一个类都要用上述代码测试)。
 
2.     根据你现有的知识,能否写一个程序,这个程序中有两个函数,但程序调用哪一个函数是不确定的,只有在运行的时候才能确定,请结合你的程序来说明这种不确定性是如何实现的。
1 回复
#2
flyingcloude2009-12-01 09:55
程序代码:
#include <iostream>
#include <string.h>
using namespace std;
class CMAN
{
public:
        CMAN(string language):motherlanguage(language){}
        virtual void SayHello(){ cout << "Say hello in " << motherlanguage << '\n';}
private:
        string motherlanguage;
};
class Chinese:public CMAN
{
public:
        Chinese(string language):CMAN(language){}
};
class French:public CMAN
{
public:
        French(string language):CMAN(language){}
};
void test(CMAN* p)
{
        p->SayHello();
}
int main()
{
        CMAN* p;
        Chinese chinese("中文");
        p = &chinese;
        test(p);
        French french("english");
        p = &french;
        test(p);
}

1