- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业5——常类型、静态成员、友元、类组合
非编程类题目答案写在word文档中
说明:共任选3个难度级别不同的题,其中每个知识点任选1题。
***********************************
以下题目关于常类型
***********************************
(难度:★)
考虑如下定义:
const int x = 17;
class A
{
public:
A();
A(int );
int f() const;
int g(const Ax);
private:
int i;
};
这里使用了3个const修饰符,每个const修饰符都能使编译器进行某种强制检查。对于这三种情况,编译器分别会进行怎样的检查?
hw5-2(难度:★★★)
在实验3的BankAccount类中,应该将哪些成员函数定义为常成员函数?若主函数修改为如下,请根据主函数,增加isLarger和welcome两个函数,使得程序的输入结果如下:
int main( )
{
BankAccount account1(6543.21, 4.5), account2;
welcome(account1);
cout Enter data for account 2:\n;
account2.input( );
if (isLarger(account1, account2))
cout account1 is larger.\n;
else
cout account2 is at least as large as account1.\n;
return 0;
}
***********************************
以下题目关于静态成员
***********************************
hw5-3(难度:★)Circle类
定义一个Circle类,数据成员有x、y和radius(半径),函数成员有构造函数(带默认形参值),析构函数,设置x和y值的函数,显示x、y和radius值的函数、计算圆面积的函数,在Circle类中有静态数据成员count(记录circle的个数)和静态函数成员showCount(输出Circle的个数)。设计程序测试这个类,体会静态成员的用法。
hw5-4(难度:★★)Student类
声明一个Student类,在该类中包括了一个数据成员score(分数)、两个静态数据成员totalScore(总分)和count(学生人数);还包括一个成员函数account()用于设置分数、累计学生的成绩之和、累计学生人数,一个静态成员函数sum()用于返回学生的成绩之和,另一个静态成员函数average()用于求全班成绩的平均值。在主函数中,输入某班同学的成绩,并调用上述函数求出全班学生的成绩之和以及平均分。
(难度:★★★)找出下面程序中的错误(多处),并指出错误所在行数以及错误原因。
#includeiostream
using namespace std;
class Base
{
const int num;
static int count;
int data;
public:
Base()
{
count=1;
num=2;
data=3;
}
static void show(Base b)
{
coutdata: dataendl;
coutcount:countendl;
}
};
int main()
{
Base obj(1,2,3);
Base::show();
return 0;
}
hw5-5(难度:★★★)SavingAccount类
创建一个SavingAccount类. 使用一个static数据成员annualInterestRate保存每个存款者的年利率。类的每个对象都包含一个private数据成员savingBalance,用以指示存款者目前的存款金额。该类提供成员函数calculateMonthlyInterest,它将余额乘以annualInterestRate再除以12来计算月利息,这个利息应该加到savingBalance中。该类还提供一个static成员函数modifyInterestRate,它将static的annualInterestRate设置为一个新值。编写一个驱动程序测试SavingAccount类。实例化SavingAccount类的两个对象saver1和saver2,余额分别是20
文档评论(0)