class Sample private: public: Sample(int i) ( n= i;} ___int add(Sample& s1, Sample& s2); int add(Sample& s1, Sample& s2) return s1.n + s2.n: int main@ f Sample s1(10), s2(20); cout <<___<< endl; return 0:横线处需要补充什么
时间: 2023-06-27 12:01:16 浏览: 71
需要补充 `add(s1, s2)`。完整的代码如下:
```
class Sample {
private:
int n;
public:
Sample(int i) { n = i; }
int add(Sample& s1, Sample& s2);
};
int Sample::add(Sample& s1, Sample& s2) {
return s1.n + s2.n;
}
int main() {
Sample s1(10), s2(20);
cout << s1.add(s1, s2) << endl;
return 0;
}
```
相关问题
class Sample { private: ; public: Sample(int i) { n = i; } int add(Sample& s1, Sample& s2); }; int add(Sample& s1, Sample& s2) {return s1.n + s2.n; } int main() { Sample s1(10), s2(20); cout << << endl; return 0; }补充代码让其运行结果为30
可以将add函数定义改为Sample类的成员函数,并且不需要传递参数,直接使用对象本身的成员变量进行相加操作。代码如下:
```
#include <iostream>
using namespace std;
class Sample {
private:
int n;
public:
Sample(int i) { n = i; }
int add(Sample& s1) { return n + s1.n; }
};
int main() {
Sample s1(10), s2(20);
cout << s1.add(s2) << endl;
return 0;
}
```
输出结果为30。
class iceman :public warrior { private: int weapon; public: iceman(int n, int i, string name_temp) :warrior(i, name_temp, n) { weapon = get_num() % 3; } string get_weapon() { if (weapon == 0) { return "sword"; } else if (weapon == 1) { return "bomb"; } else { return "arrow"; } } };请将这段代码分别存放到头文件和源文件中
头文件(iceman.h):
```c++
#ifndef ICEMAN_H
#define ICEMAN_H
#include "warrior.h"
class iceman : public warrior {
private:
int weapon;
public:
iceman(int n, int i, string name_temp) : warrior(i, name_temp, n) {
weapon = get_num() % 3;
}
string get_weapon() {
if (weapon == 0) {
return "sword";
}
else if (weapon == 1) {
return "bomb";
}
else {
return "arrow";
}
}
};
#endif // ICEMAN_H
```
源文件(iceman.cpp):
```c++
#include "iceman.h"
// 空文件,无需实现 iceman 类的方法
```
在需要使用 iceman 类的源文件中,只需要包含 iceman.h 文件即可,例如:
```c++
#include "iceman.h"
int main() {
iceman* p = new iceman(1, 2, "iceman");
string weapon = p->get_weapon();
delete p;
return 0;
}
```