5.1建立一个虚基类

原创 2015年07月10日 11:52:38

#include<iostream>
 #include<string>
 using namespace std;


 class base
 {
char *name;
int age;
int Class;
 public:
void setname (char na[])
{
name = new char[strlen(na)+1];
strcpy(name , na);
}
void setage(int a)
{
age=a;
}
void setClass(int b)
{
 Class=b;
}

char *getname(){return name;}
int getage() {return age;}
 };


 class leader : virtual public base
 {
char *school;
char *department;
 public :
void setjob(char jo[])
{
strcpy(school, jo);
}
void setdepartment(char dep[])
{
department= new char [strlen(dep)+1];
department=dep;
}
char *getdepartment(){return department;}
 };


 class engineer : virtual public base
 {
char *prof;
char *major;
 public :
void setprof(char pro[])
{
prof=new char[strlen(pro)+1];
prof=pro;
}


 void setmajor(char maj[])
{
major=new char[strlen(maj)+1];
major=maj;
}
char *getprof(){ return prof;}
char *getmajor(){return major;}
 };


 void main ()
 {
c.setname("王思琪");
c.setage(19);
c.setClass (1141);
c.setschool("广东海洋大学");
c.setdepartment("计协");
c.setprof("技术部部长");
c.setmajor("信管");
cout<<"输出结果:"<<endl;

cout<<"  "<<c.getname()<<",年龄"<<c.getage()

<<"岁,担任"<<c.getdepartment()<<c.getprof()<<","<<endl;

就读"<<c.getschool()<<c.getmajor()

<<"专业"<<c.getClass()<<"班"<<endl;

 }

 

虚基类练习 动物1

/*长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。 利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别), 陆生动物(ter_animal,属性增加了奔跑速...
  • u012369106
  • u012369106
  • 2014年07月09日 16:07
  • 899

c++继承之虚基类

虚基类的概念:        若在多继承派生类中继承的基类再拥有一个公共基类,则这个公共基类会在多继承派生类的对象中产生多个公共基类子对象,如果要使这个公共基类再多继承派生类中只产生一个基类子对象,则...
  • erlian1992
  • erlian1992
  • 2015年03月11日 20:56
  • 1191

虚基类——动物

问题及代码:/*。 *Copyright(c)2014,烟台大学计算机学院 *All right reserved, *文件名:test.cpp *作者:liu_feng_zi_ *完成日期:2015...
  • liu_feng_zi_
  • liu_feng_zi_
  • 2015年06月25日 22:04
  • 241

[YTU]_2566( 虚基类练习:动物)

题目描述 长期的物种进化使两栖动物既能活跃在陆地上,又能游动于水中。利用虚基类建立一个类的多重继承,包括动物(animal,属性有体长,体重和性别),陆生动物(ter_animal,属性增加了奔跑速...
  • sxy201658506207
  • sxy201658506207
  • 2017年06月08日 18:55
  • 165

C++虚基类的内存布局(上)

最好看一下前一篇的C++虚函数表 简而言之,我们一个类可能会有如下的影响因素: 1)成员变量 2)虚函数(产生虚函数表) 3)单一继承(只继承于一个类) 4)多重继承(继承多个类) 5)重...
  • hacker00011000
  • hacker00011000
  • 2016年05月15日 20:47
  • 491

[5.19]设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数;由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数;再由base派生出工程师类engieer,

#include #include using namespace std; class Person{   public:  Person(string name1,int age1){ ...
  • huanyu_liang
  • huanyu_liang
  • 2015年05月07日 09:20
  • 2890

C++虚基类的作用、用法和意义

教科书上面对C++虚基类的描述玄而又玄,名曰“共享继承”,名曰“各派生类的对象共享基类的的一个拷贝”,其实说白了就是解决多重多级继承造成的二义性问题。例如有基类B,从B派生出C和D,然后类F又同时继承...
  • Leonard_wang
  • Leonard_wang
  • 2012年11月07日 21:15
  • 26402

C++之虚函数(三)虚继承和虚基类详解

多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名...
  • Bruce_0712
  • Bruce_0712
  • 2017年02月18日 10:52
  • 388

C++虚继承和虚基类;虚函数与继承

定义:在C++中,在定义公共基类的派生类的时候,如果在继承方式前使用关键字virtual...
  • cyuyanchenxi
  • cyuyanchenxi
  • 2017年03月28日 23:05
  • 465

纯虚函数与虚基类

纯虚函数 1、定义 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0” virtual void funti...
  • u014082714
  • u014082714
  • 2015年02月06日 22:08
  • 790
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:5.1建立一个虚基类
举报原因:
原因补充:

(最多只允许输入30个字)