虚基态程序

转载 2016年08月30日 22:15:01
#include <iostream>
#include<string>
using namespace std;
class Person
{public:
Person(string nam,char s,int a)
{name=nam;
     sex=s;
age=a;}
protected:
    string name;
char sex;
int age;
};
//声明Person的派生类Teacher
class Teacher:virtual public Person
{
public:
Teacher(string nam,char s,int a,string t):Person(name,sex,age),title(t){}
protected:
string title;
};//声明派生类


//声明Person的派生类Student
class Student:virtual public Person
{
public:Student(string name,char s,int a,float sco):Person(name,sex,age),score(sco){}
protected:float score;
};


//声明多重继承的派生类 Graduate
class Graduate:public Teacher,public Student
{
public:Graduate(string nam,char s,int a,string t,float sco,float w):Person(nam,s,a),Teacher(nam,s,a,t),Student(nam,s,a,sco),wage(w){}


  void show()
  {
  cout<<name<<endl;
  cout<<age<<endl;
  cout<<sex<<endl;
  cout<<title<<endl;
  cout<<wage<<endl;
  }
private:
float wage;
};




int main(){
  Graduate gradl("wang-li",'f',24,"assistant",89.5,1234.5);
  gradl.show();
  return 0;//可以访问基类中的公用成员 s2.age就会出错,因为age属于保护类成员数据,不能被类外访问
}

相关文章推荐

编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)

在Linux命令行中执行top命令,可以查询到所有进程使用的VIRT虚拟内存、RES常驻内存和共享内存SHR。 那么,什么是VIRT虚拟内存、RES常驻内存和共享内存SHR?我们编写的Linux C...

编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)

转载地址 : http://blog.csdn.net/huyiyang2010/article/details/7815491 在Linux命令行中执行top命令,可以查询到所有进...

《C++程序设计案例教程》笔记之多态

1.函数重载是一种多态,运算符重载也是一种多态。运算符重载函数实质上也是函数,只不过函数名必须有关键字operator。 2.大多数运算符既可以重载为友元函数又可以重载为成员函数。一般将双目运算符重...

【编程基础】程序小白脸盲症之重载、重写、多态

不知道大家的情况如何, 我在看到这一溜名词的时候就是想起了一句蔡依林的一句歌词——老虎、老鼠傻傻分不清楚。作为一名程序小白,在这几位老兄一同出现的那一刻,瞬间就患了脸盲症。不过不用担心,有病不要紧,关...

[学习笔记—Objective-C]《Objective-C 程序设计 第6版》第九章 多态,动态类型和动态绑定

Part 1. 多态:相同的名称,不同的类 多态:使不同的类共享相同方法名称的能力称为多态。(可以开发一组可以相应相同方法名的类) //两个分数 Fraction *f...

用 C 语言实现程序的多态性

(From Qzone)   前言:关于多态,关于 C ,C 语言想告诉我们的是:也许我不擅长,但是并不意味着我做不到。   多态 (polymorphism) 一词最...

Linux设备驱动程序第三版学习(4)- 并发和竟态

第五章学习:并发和竟态 其实可以拿上“公共厕所”来做一个比喻,就是那种在大街上只有一个隔间的小型公厕。更容易理解并发、竟态和信号量。 把“临界区”理解为“公共厕所”(临界区:在任意给定的时刻,代码...

第13周-多态性-项目0-课后实践·阅读程序1.

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:201...

JavaScript 面向对象程序设计(下)——继承与多态

前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员、公有实例成员、私有静态成员、公有静态成员和静态类的封装。这次我们来讨论一下面向对象程序设计中的另外两个要素:继承与多态。 1 又...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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