虛擬繼承 Problem C 學生幹部虛基類

2021-07-30 11:02:35 字數 2459 閱讀 5860

time limit: 1 sec memory limit: 2 mb

submit: 1736 solved: 1135

[submit][status][web board]

基於student(學生)類和cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類student_cadre(學生兼幹部)。

這兩個基類均繼承自person類,包含姓名、年齡、性別、位址、**等資料成員。在student類中還包含資料成員major(專業),在cadre類中還包含資料成員post(職務),

在student_cadre類中還包含資料成員wages(工資)。

注意使用虛基類使student_cadre只包含乙份從person類繼承來的成員。

學生幹部的姓名,年齡,性別,專業,職位,位址,**,薪水

修改該學生幹部的新位址,新**

學生幹部的資訊

wangli

23 f

beijingroad

0532-61234567

software

president

1534.2

taidonglu

0532-90827651

0531-28766143

name:wangli

age23

***:f

address:beijingroad

tel:0532-61234567

major:software

post:president

wages:1534.2

name:wangli

age23

***:f

address:taidonglu

tel:0531-28766143

major:software

post:president

wages:1534.2

int main( )

#include 

#include

using namespace std;

class person

int age_()

char ***_()

string address_()

string tel_()

void getname(string a)

void getage(int b)

void get***(char c)

void getaddress(string d)

void gettel(string e)

public:

person(string a,int b,char c,string d,string e)

private:

string name;

int age;

char ***;

string address;

string tel;

};class student:virtual

public person

void getmajor(string f)

public:

student(string a,int b,char c,string d,string e,string f):person(a,b,c,d,e)

public:

void

settel(string x)

private:

string major;

};class cadre:virtual

public person

void getpost(string g)

public:

cadre(string a,int b,char c,string d,string e,string g):person(a,b,c,d,e)

public:

void

settel(string x)

private:

string post;

};class student_cadre:public student,public cadre

void getwages(double h)

public:

student_cadre(string a,int b,char c,string d,string e,string f,string g,double h):person(a,b,c,d,e),student(a,b,c,d,e,f),cadre(a,b,c,d,e,g)

public:

void

setaddr(string x)

void display( )

;int main( )

1935 Problem C 查詢學生資訊

時間限制 1 sec 記憶體限制 32 mb 輸入n個學生的資訊,然後進行查詢。輸入的第一行為n,即學生的個數 n 1000 接下來的n行包括n個學生的資訊,資訊格式如下 01 李江 男 21 02 劉唐 男 23 03 張軍 男 19 04 王娜 女 19 然後輸入乙個m m 10000 接下來會...

繼承 多繼承 菱形虛擬繼承

繼承 繼承是由父類和子類 或稱之為基類與派生類 兩種角色構成,子承父業,就是說派生類會繼承基類的所有的成員,並擁有自己特有的成員。用一段 來解釋說明繼承關係 include using namespace std class base 基類 class derived public base 以共有...

菱形繼承與虛擬繼承

c 中的繼承有單繼承和多繼承 本文主要探索的是多繼承中菱形繼承的二義性和資料冗餘及解決方案 菱形繼承的物件模型 從記憶體看菱形繼承物件模型 用乙個簡易 的 來說明二義性和資料冗餘這個問題 class aa class bb public aa class cc public aa class dd ...