赞
踩
已声明Book类,要求完成类中函数的定义,并编写main函数完成如下的功能。
定义含5个Book对象的数组b,定义同时将b[0]~b[3]分别初始化为(1,10),(3,30),(5,50),(8,80);
根据输入的数据给b[4]的成员赋值;
逆序输出对象数据成员qu * price的值,每个数据后带一个空格。
函数接口定义:
class Book{
public:
Book(int _qu=0);//_qu赋值给qu,price为qu的10倍
int getqu();
int getprice();
void set(int _qu) //_qu赋值给qu,price为qu的10倍
private:
int qu,price;
};
int main()
裁判测试程序样例:
#include <iostream>
using namespace std;
class Book{
public:
Book(int _qu=0);
int getqu();
int getprice();
void set(int _qu);
private:
int qu,price;
};
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
2
输出样例:
40 640 250 90 10
思路一:
- Book::Book(int _qu){
- set(_qu);
- } //Book 类的构造函数的定义,接受一个整数 _qu 作为参数,并调用 set 函数来设置 qu 和 price 成员变量的值。
-
- int Book::getqu(){
- return qu; //Book 类的成员函数,用于获取对象的 qu 成员变量的值。
- }
- int Book::getprice(){
- return price; //Book 类的成员函数,用于获取对象的 price 成员变量的值。
- }
- void Book::set(int _qu){
- qu=_qu;
- price=qu*10;
- } //Book 类中的 set 函数用于设置 qu 成员变量的值,并根据规则计算 price 的值。
-
- int main(){
- Book b[5]={Book(1), Book(3), Book(5), Book(8)}; // 初始化前4个对象
-
- int n;
- cin>>n;
- b[4].set(n); // 输入第五个对象的数据
-
- for(int i=4;i>=0;i--){
- cout<<b[i].getqu() * b[i].getprice()<<" ";
- } // 逆序输出对象数据成员 qu * price 的值
- return 0;
- }
思路二:
- Book::Book(int _qu):qu(_qu){}
-
- int Book::getqu(){
- return qu; //Book 类的成员函数,用于获取对象的 qu 成员变量的值。
- }
- int Book::getprice(){
- return 10*qu; //Book 类的成员函数,用于获取对象的 price 成员变量的值。
- }
- void Book::set(int _qu){
- qu=_qu;
- }
-
- int main(){
- Book b[5]={1,3,5,8}; //单参数构造函数来执行隐式转换,过提供整数值 {1, 3, 5, 8},这些整数值会被隐式转换为 Book 对象,并且被用来初始化数组的前四个元素。
-
- int n;
- cin>>n;
- b[4]=Book(n); // 输入第五个对象的数据
-
- for(int i=4;i>=0;i--){
- cout<<b[i].getqu() * b[i].getprice()<<" ";
- } // 逆序输出对象数据成员 qu * price 的值
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。