前言
刷C++基础入门题刷了三次,中间老间歇性懒惰,目前还差30道把基础知识点浅过一下,继续加油吧,冲啊。
题目描述
在子类中重写父类的calculate方法,计算两个数的乘积(X*Y)改为除法(X/Y)。注意,当分母为0时输出“Error”。
C++代码实现
父类中有构造函数,但不是默认构造函数,系统不会自动生成子类的默认构造函数,于是自己实现子类的构造函数
代码如下:
#include <iostream>
using namespace std;
class Base {
private:
int x;
int y;
public:
Base(int x, int y) {
this->x = x;
this->y = y;
}
int getX() {
return x;
}
int getY() {
return y;
}
void calculate() {
cout << getX() * getY() << endl;
}
};
class Sub : public Base {
// 在子类中重写父类的calculate方法
public:
//父类中有构造函数,但不是默认构造函数,系统不会自动生成子类的默认构造函数,于是自己实现子类的构造函数
Sub(int x, int y):Base(x,y){}
void calculate(){
if (Base::getY()!=0)
cout << getX()/getY() << endl;
else cout << "Error" << endl;
}
};
int main() {
int x, y, z;
cin >> x;
cin >> y;
Sub sub(x, y);
sub.calculate();
return 0;
}
题外话
收到内推消息链接,虽然没有多大用,我也知道自己几斤几两,通过了简历筛选后,我的笔试依然过不去。
只不过挺欣喜的一点,是刷题有了成效,发了几十道题解后有了这条回应,还是有所收获的,继续坚持。