最新多态练习题.docx

上传人:b****0 文档编号:992563 上传时间:2022-10-15 格式:DOCX 页数:12 大小:18.68KB
下载 相关 举报
最新多态练习题.docx_第1页
第1页 / 共12页
最新多态练习题.docx_第2页
第2页 / 共12页
最新多态练习题.docx_第3页
第3页 / 共12页
最新多态练习题.docx_第4页
第4页 / 共12页
最新多态练习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

最新多态练习题.docx

《最新多态练习题.docx》由会员分享,可在线阅读,更多相关《最新多态练习题.docx(12页珍藏版)》请在冰豆网上搜索。

最新多态练习题.docx

最新多态练习题

1、生成表示学生的类XS,提供成员函数dispXM()、dispXB()和dispNL()分别用来显示姓名、性别和年龄,并将他们全部定义为纯虚函数;生成CZS类表示初中生,包含数据成员xm、xb和nl表示学生的姓名、性别和年龄,提供成员函数dispXM()、dispXB()和dispNL()分别用来显示姓名、性别和年龄;再生成类GZS表示高中生和类DXS表示大学生,同样包含相同含义的数据成员xm、xb和nl,也包括成员函数dispXM()、dispXB()和dispNL()。

要求:

(1)设计和实现基本类XS

(2)设计和实现派生类CZS,GZS和DXS

(3)分别生成CZS、GZS、DXS类对象

(4)将CZS、GZS、DXS类对象的指针赋给指针赋给XS类的指针变量。

(5)分别用XS类的指针和引用访问dispXM()、dispXB()和dispNL()函数。

(6)观察程序结果。

 

#include

#include

usingnamespacestd;

classXS{

public:

virtualvoiddispXM()=0;

virtualvoiddispXB()=0;

virtualvoiddispNL()=0;

};

classCZS:

publicXS{

public:

CZS(char*m="张三",intb=1,intn=14);

voiddispXM();

voiddispXB();

voiddispNL();

protected:

charxm[9];

intxb,nl;

};

CZS:

:

CZS(char*m,intb,intn)

{

strcpy(xm,m);

xb=b,nl=n;

}

voidCZS:

:

dispXM()

{

cout<<"name:

"<

}

voidCZS:

:

dispXB()

{

if(xb==1)

cout<<"Man"<

if(xb==0)

cout<<"Woman"<

}

voidCZS:

:

dispNL()

{

cout<<"age:

"<

}

classGZS:

publicXS{

public:

GZS(char*m="张三",intb=1,intn=17);

voiddispXM();

voiddispXB();

voiddispNL();

protected:

charxm[9];

intxb,nl;

};

GZS:

:

GZS(char*m,intb,intn)

{

strcpy(xm,m);

xb=b,nl=n;

}

voidGZS:

:

dispXM()

{

cout<<"name:

"<

}

voidGZS:

:

dispXB()

{

if(xb==1)

cout<<"Man"<

if(xb==0)

cout<<"Woman"<

}

voidGZS:

:

dispNL()

{

cout<<"age:

"<

}

classDXS:

publicXS{

public:

DXS(char*m="张三",intb=1,intn=20);

voiddispXM();

voiddispXB();

voiddispNL();

protected:

charxm[9];

intxb,nl;

};

DXS:

:

DXS(char*m,intb,intn)

{

strcpy(xm,m);

xb=b,nl=n;

}

voidDXS:

:

dispXM()

{

cout<<"name:

"<

}

voidDXS:

:

dispXB()

{

if(xb==1)

cout<<"Man"<

if(xb==0)

cout<<"Woman"<

}

voidDXS:

:

dispNL()

{

cout<<"age:

"<

}

voiddisplayP(XS*p)

{

p->dispXM();

p->dispXB();

p->dispNL();

}

voiddisplayR(XS&p)

{

p.dispXM();

p.dispXB();

p.dispNL();

}

voidmain()

{

CZSczs("赵一",1,12);

GZSgzs("钱二",0,15);

DXSdxs("孙三",1,18);

XS*p;//定义抽象基类的指针变量p

p=&czs;//将初中生对象czs的地址赋给p

displayP(p);

p=&gzs;//将高中生对象czs的地址赋给p

displayP(p);

p=&dxs;//将大学生对象czs的地址赋给p

displayP(p);

cout<<"\n----------------------------------------\n";

XS&r1=czs;//定义抽象基类的引用变量r1为czs的别名

displayR(r1);

XS&r2=gzs;//定义抽象基类的引用变量r2为czs的别名

displayR(r2);

XS&r3=dxs;//定义抽象基类的引用变量r3为czs的别名

displayR(r3);

cout<<"\n----------------------------------------\n";

}

 

为此,装潢美观,亮丽,富有个性化的店面环境,能引起消费者的注意,从而刺激顾客的消费欲望。

这些问题在今后经营中我们将慎重考虑的。

 

2003年,上海市人均GDP按户籍人口计算就达到46700元,是1995年的2.5倍;居民家庭人均月可支配收入为14867元,是1995年的2.1倍。

收入不断增加的同时,居民的消费支出也在增加。

2003年上海居民人均消费支出为11040元,其中服务性消费支出为3369元,是1995年的3.6倍。

2、某小型公司主要有3类人员:

经理、兼职技术人员、兼职销售员。

这些人员分别具有以下属性。

经理:

姓名、编号、固定工资、当月薪水、计算月薪、显示信息

兼职技术人员:

姓名、编号、工作小时、每小时工资额、当月薪水、计算月薪、显示信息;

(五)DIY手工艺品的“价格弹性化”兼职销售员:

姓名、编号、销售额、销售额提成、当月薪水、计算月薪、显示信息

除了“漂亮女生”形成的价格,优惠等条件的威胁外,还有“碧芝”的物品的新颖性,创意的独特性等,我们必须充分预见到。

要求:

人员编号基数为1000,每输入一个人员信息编号顺序加1

月薪计算办法是经理固定月薪8000元;兼职技术人员按100元/小时领取月薪;兼职推销员按当月销售额的4%提成。

根绝题目要求,设计一个基类employee,然后派生出technician(兼职技术人员)类、manager(经理)类和salesman(兼职销售员)类。

十字绣□编制类□银饰制品类□串珠首饰类□部分成员函数设置为虚函数

世界上的每一个国家和民族都有自己的饰品文化,将这些饰品汇集到一起再进行新的组合,便可以无穷繁衍下去,满足每一个人不同的个性需求。

将“<<”和“>>”运算符

1、荣晓华、孙喜林《消费者行为学》东北财经大学出版社2003年2月#include

#include

#include

#include

usingnamespacestd;

constintMaxr=100;

classEmployee//职工类

{

inttag;//删除标记

intno;//职工编号

charname[20];

charzw[20];//职工姓名

intsalary;//职工工资

public:

Employee(){}

char*getname(){returnname;}//获取名字

intgettag(){returntag;}//获取标记

intgetno(){returnno;}//获取编号

intgetsalary(){returnsalary;}

voidsetzw(charq[])//设置名字

{

strcpy(zw,q);

}

voidsetname(charna[])//设置名字

{

strcpy(name,na);

}

voidgetsalary(intsa){salary=sa;}

voiddelna(){tag=1;}//删除

voidaddemp(intn,intsa,char*na,char*q)//增加

{

tag=0;

no=n;

salary=sa;

strcpy(name,na);

strcpy(zw,q);

}

voiddisp()//显示职工信息

{

cout<<"│"<

cout<<"├—————┼—————┼—————┼—————┤"<

}

};

classDatabase//职工数据类

{

inttop;

Employeeread[Maxr];

public:

Database()//将职工信息从employee.txt读取到read[]中

{Employees;

top=-1;

fstreamfile("employee.txt",ios:

:

in);

while

(1)

{

file.read((char*)&s,sizeof(s));

if(!

file)break;

top++;

read[top]=s;

}

file.close();

}

voidclear()//删除所有

{

top=-1;

}

intaddemp(intn,intsa,char*na,char*q)//增加职工

{

Employee*p=query(n);

if(p==NULL)

{

top++;

read[top].addemp(n,sa,na,q);

return1;

}

return0;

}

Employee*query(intempid)

{

for(inti=0;i<=top;i++)

if(read[i].getno()==empid&&read[i].gettag()==0)

return&read[i];

returnNULL;

}

Employee*query1(charempna[20])

{

for(inti=0;i<=top;i++)

if((read[i].getname()==

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1