鱼C论坛

 找回密码
 立即注册
查看: 2450|回复: 2

求助!小甲鱼c艹中重继承那个代码!照着打的为什么还有那么多错误orz

[复制链接]
发表于 2019-9-1 10:08:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
#include<string>

class Person
{
public:
    Person(std::string theName);

    void introduce();

protected:
    std::string name;
};

class Teacher : public Person
{
public:
    Teacher(std::string theName,std::string theClass);

    void teach();
    void introduce();

protected:
    std::string classes;
};

class Student : public Person
{
public:
    Student(std::string theName,std::string theClass);

    void attendClass();
    void introduce();

protected:
    std::string classes;
};

class TeachingStudent : public Student,public Teacher
{
public:
    TeachingStudent(std::string theName,std::string classTeaching,std::string classAttending);

    void introduce();
};

Person::Person(std::string theName)
{
    name = theName;
}
void Person::introduce()
{
    std::cout << "大家好,我是" << name << "。\n\n";
}

Teacher::Teacher(std::string theName,std::string theClass) : Person(theName)
{
    classes = theClass;
}
void Teacher::teach()
{
    std::cout << name << "教" << classes <<"。\n\n";
}

Student::Student(std::string theName,std::string theClass) : Person(theName)
{
    classes = theClass;
}

void Student::attendClass()
{
    std::cout << name << "加入" << classes << "学习。\n\n";
}
TeachingStudent::TeachingStudent(std::string theName,
                                 std::string classTeachenging,
                                 std::string classAttending) : Teacher(theName,classTeaching),Student(theName,classAttending)
                                 {
                                 }
void TeachingStudent::introduce()
{
     std::cout << "大家好,我是" << Student::name << "。我教" << Teacher::classes ;
     std::cout << " ,同时也在" << Student::classes << "读书" ;
}

int main()
{
    Teacher teacher("张12","入门班");
    Student student("李一一","入门班");
    TeachingStudent zhujiao("张二二","入门班","进阶班");

    teacher.introduce();
    teacher.teach();
    student.introduce();
    student.attendClass();
    zhujiao.introduce();
    zhujiao.teach();
    zhujiao.attendClass();

    return 0;
}
上面是源码-------------------------------------------------------------------------下面是问题-------------------------------------------------------------

error: converting to execution character set: Illegal byte sequence|(错误类型都是这种)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-1 13:03:53 | 显示全部楼层
用C++编译 除了TeachingStudent::TeachingStudent(std::string theName,
                                 std::string classTeachenging,
                                 std::string classAttending):Teacher(theName,classTeachenging),Student(theName,classAttending)
                                 {
                                 }

没发像别的错误提示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-1 13:33:53 | 显示全部楼层
本帖最后由 superbe 于 2019-9-1 13:36 编辑

TeachingStudent::TeachingStudent(std::string theName,
                                 std::string classTeachenging,
                                 std::string classAttending) : Teacher(theName,classTeaching),Student(theName,classAttending)    //classTeaching和classTeachenging哪个打错了
                                 {
                                 }
好象还缺少Teacher::introduce() 和 Student::introduce()吧,Teacher类和Student类中都有introduce(),是重写了父类Person中的introduce()方法,但是没有定义。

改了这些,再编译看还有什么提示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-20 23:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表