题目描述
本题的题目要求与上题卡皮巴拉相同,但要求你将函数f1
,f2
实现为结构体Capybara
的成员函数,分别计算出当头、身体、四肢的款式有a
,b
,c
种时,生产本批次玩偶共需要多少种材料,以及本批次玩偶共有多少种款式。
关于成员函数:有关成员函数的更多知识,我们会在类的学习中进行详细讲解。现在我们只需要知道,成员函数是定义在类中的函数。我们不需要把这个结构体本身作为参数传入这个成员函数,但是在它的函数体中,我们可以直接调用此结构体中的其他数据成员(比如在下例中,函数foo
中调用了数据成员head
和tail
)。 一个例子如下:
struct Capybara {
//三个数据成员
int head;
int body;
int limb;
//成员函数f1
int foo() {
return 2 * head + body;
}
};
那么,当我们创建一个结构体Capybara
对象a
,并将a.head
赋值为1,a.body
赋值为2,后,调用a.foo()
的返回结果为4。
通过对比本题与上题的不同,希望你可以对成员函数有些初步的认识。
输入描述
一个整数k
,表示有k
批次的卡皮巴拉玩偶。(k < 100)
k
行,每行三个整数a
,b
,c
,分别表示每个批次的玩偶的头、身体和四肢的款式数。
输出描述
k 行,每行两个整数,分别表示每个批次的玩偶共需要多少种材料,以及本批次玩偶共有多少种款式。
输入样例
3
1 2 3
4 5 13
33 4 2
输出样例
6 6
22 260
39 264
//参考答案
#include <iostream>
using namespace std;
struct Capybara {
//三个数据成员
int head;
int body;
int limb;
//两个成员函数
int f1() const{
return head + body + limb;
}
int f2() const{
return head * body * limb;
}
};
int m[105],n[105];
int main() {
int k;
cin >> k;
for (int i = 1; i <= k; i++) {
Capybara capybara = Capybara();
cin >> capybara.head >> capybara.body >> capybara.limb;
m[i] = capybara.f1();
n[i] = capybara.f2();
}
for (int i = 1; i <= k; i++) {
cout << m[i] << " " << n[i] << endl;
}
}
标签:body,head,函数,int,成员,卡皮,巴拉,玩偶 From: https://blog.csdn.net/m0_62288422/article/details/140680578