| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1779 人关注过本帖
标题:请教两个题目
只看楼主 加入收藏
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
 问题点数:0 回复次数:23 
请教两个题目
请教两个题目,实在想不出。
NO.1
定义一个老师类(teacher)和一个学生类(student),二者有一部分数据成员是相同的。例如num,name,sex。编写程序,将一个学生类转换为老师类,只将上面三个相同的数据成员移值过去。(最好用类型转换函数)

NO.2
商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价,在此(price),在此基础上,对一次购买10件以上者还可以享受9.8折优惠。现已知当天3名销售员的情况为:
销售员号(num) 销售件数(quantity) 销售单价(price)
101 5 23.5
102 12 24.56
103 100 21.5
请编写程序,计算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。
搜索更多相关主题的帖子: num price 商店 销售员 
2006-06-16 11:44
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
num,name,sex。把相同的要移植的用protected不移植的用private,然后,public继承,就够了

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-16 11:50
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
把销售件数(quantity)和销售总价(totalPrice)都做为static成员,然后用一个static函数,在每次销售一件就调用该函数,quantity++;并且将totalPrice增加该创建对象的数据成员price(单价)。
main函数之前初始化static float totalPrice=0;static int quantity=0;

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-16 11:57
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
好象折扣也可以设为static,没天都重新设置(用一个static函数设置)

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-16 11:59
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 
我还没学到继承呢

2006-06-16 13:16
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

1。最好用类型转换函数,,,,,运算符重载学了么
要不然就是几个拷贝啊?

2.不好说,你写一点吧,我们顺着你的写


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-16 13:29
stylev
Rank: 1
等 级:新手上路
威 望:1
帖 子:136
专家分:0
注 册:2006-5-30
收藏
得分:0 
you can't paste a homework as this into the community

E-mail/MSN: stylev@
2006-06-16 14:10
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 

呵呵 但我实在不会啊


2006-06-16 14:30
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 

#include <iostream>
using namespace std;
class student
{private:
int num;
char name[];
char sex[];
double CJ[3];
public:
student(){num=1001;name[]="chen";sex[]="boy";CJ[0]=89.0;CJ[1]=78;CJ[2]=100;}
void display();

};

class teacher
{public:
int num;
char name[];
char sex[];
double CJ[3];
teacher(student &s){num=s.num;strcpy(name,s.name);sex=s.sex;}
void display();
};

void teacher::display()
{cout<<num<<" "<<name<<" "<<sex<<endl;

int main();
{teacher t;student s;
t=teacher(studnet s);
t.display();
return 0;
}


我编了个第一题但完全没方向 错误好多 怎么办啊

[此贴子已经被作者于2006-6-16 17:08:02编辑过]


2006-06-16 17:07
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
teacher(student &s){num=s.num;strcpy(name,s.name);sex=s.sex;}

student 受保护成员,不能“见光”的
你要这么做的话,做个函数当接口
让他return 你所要的
double student::Renum (return num;)
teacher(student &s){num=s.Renum........
或者把teacher设成student友员,这样teacher才能调用student 的成员
我在网吧没编译器,估计你重点的错误应该在这

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-16 17:48
快速回复:请教两个题目
数据加载中...
 
   



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

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