如何在C++中使用初始声明的int值打印double



由于某些原因,即使我将divide()的值声明为double,它仍然打印为int

#include <iomanip>
#include <iostream>
#include <cmath>
using namespace std;
class Calculator{
private:
int a = 0;
int b = 0;
public:
Calculator(int n1, int n2) : a(n1), b(n2) {}
Calculator() = default;
int getN1() const{
return a;
}
int getN2() const{
return b;
}

int add() const{
return a + b;
}

int subtract() const{
return a - b;
}

int multiply() const{
return a * b;
}

double divide() const{
return a / b;
}

void showDetails() const{
cout << " " << endl;
cout << "Computed:" << endl;
cout << "Sum = " << add() << endl;
cout << "Difference = " << subtract() << endl;
cout << "Product = " << multiply() << endl;
cout << "Quotient = " << setprecision(2) << fixed << divide() << endl;
}
};
int main() {
int n1;
int n2;
cout << "Enter Num1: ";
cin >> n1;
cout << "Enter Num2: ";
cin >> n2;
Calculator x(n1, n2);
x.showDetails();

return 0;
}

当我将初始值声明为double时,它起了作用,但我的任务是将初始值分配为int

a和b被声明为整数。把它加倍。int on int给出int值,因此将其中任意一个或两个值都更改为double。

最新更新