| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:继承的问题,求助!!
只看楼主 加入收藏
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
结帖率:96.43%
收藏
已结贴  问题点数:10 回复次数:6 
继承的问题,求助!!
#include"iostream"
#include"string"
using namespace std;
class Person
{ public:
   Person(string n,string s,int a)
   {name=n;sex=s;age=a;}
   void display()
   { cout<<"姓名:"<<name<<endl;
     cout<<"性别:"<<sex<<endl;
     cout<<"年龄:"<<age<<endl;
   }
protected:
   string name;
   string sex;
   int age;
};
class Teacher:virtual public Person
{ public:
 Teacher(string n,string s,int a,string t,string l)
     :Person(n,s,a)
 { title=t;
   lesson=l;
 }
 void display()
 { Person::display();
   cout<<"职称:"<<title<<endl;
   cout<<"担任课程:"<<lesson<<endl;
 }
protected:
    string title;
    string lesson;
};
class Student:virtual public Person
{ public:
  Student(string n,string s,int a,string no,string d)
      :Person(n,s,a)
  { num=no;
    depa=d;
  }
  void display()
  { Person::display();
    cout<<"学号:"<<num<<endl;
    cout<<"系别"<<depa<<endl;
  }
protected:
    string num;
    string depa;
};
class Graduate:public Student
{
public:
 Graduate(string n,string s,int a,string no,string d,string tn)
     :Person(n,s,a),Student(n,s,a,no,d)
 { tname=tn;
 }
 void display()
 { Student::display();
   cout<<"导师:"<<tname<<endl;
 }
private:
    string tname;
};
int main()
{ Teacher teac("黄奕","女","教授",48,"面向对象程序设计");//报错了。是怎么回事
  Student stud("罗志祥","男",18,"2007082011","计算机");
  Graduate grad("贺军翔","男",24,"2004082011","计算机系","胡歌");
  cout<<"教师的有关数据如下:"<<endl;
  teac.display();
  cout<<"\n学生的有关数据如下:"<<endl;
  stud.display ();
  cout<<"\n研究生的有关数据如下:"<<endl;
  grad.display();
  return 0;
}




E:\VC++\8.cpp(65) : error C2664: '__thiscall Teacher::Teacher(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,class s
td::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : cannot convert parameter 3 from 'char [5]' to 'int'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast
执行 cl.exe 时出错.
搜索更多相关主题的帖子: 继承 
2009-11-19 23:59
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:10 
程序代码:
class Teacher:virtual public Person
{ public:
Teacher(string n,string s,int a,string t,string l) //你下面调用的跟这定义的不一样。
     :Person(n,s,a)
{ title=t;
   lesson=l;
}
void display()
{ Person::display();
   cout<<"职称:"<<title<<endl;
   cout<<"担任课程:"<<lesson<<endl;
}
protected:
    string title;
    string lesson;
};


你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-11-20 00:17
shiyuehai
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:116
注 册:2009-9-4
收藏
得分:0 
我是初学的,我觉得你上面Teacher类的那个构造函数里面第3个参数定义的类型是int,下面给实参给的确是字符,可能这里错了吧
2009-11-22 10:52
stify
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-10-12
收藏
得分:0 
我是初学者,我觉得调用错了,应该是年龄在教授的前边
2009-11-22 19:57
kinshasa
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-11-25
收藏
得分:0 
我在等
2009-11-25 02:28
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:0 
回复 5楼 kinshasa
在等什么

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-11-25 13:00
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
谢谢咯,好低级的错误啊

叶的离去,是风的过错,还是树的不挽留?
2009-11-25 15:17
快速回复:继承的问题,求助!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030652 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved