/* Problem 38 */
#include <iostream>
using namespace std;
class abc {
double n;
public:
abc() { n = 67.5; cout << "1\n"; }
abc(double num) { set(num); cout << "2\n"; }
double get() const { cout<<"3\n"; return n; }
virtual void set(double num) {
if (num < 10)
n = 10;
else if (num > 100)
n = 100;
else
n = num;
cout << "4\n";
}
};
class def: public abc {
double m;
public:
def() { m = 6.2; cout << "5\n"; }
def(double num1, double num2): abc(num1) {
set(num2 - abc::get()); cout << "6\n"; }
double get() const {
cout << "7\n"; return m + abc::get(); }
void set(double num) {
if (num < 10 || 100 < num)
m = num;
else
m = 55;
cout << "8\n";
}
};
void do_it(abc &var, double num)
{ cout << var.get() << '\n';
var.set(num);
cout << var.get() << '\n';
}
int main()
{ abc x(45);
def y(2, 340);
cout.setf(ios::fixed);
cout.precision(3);
do_it(x, 200);
do_it(y, 253);
cout << x.get() << '\n';
cout << y.get() << '\n';
return 0;
}
Z powyższego kodu Chciałem tylko wiedzieć, co poniżej dwóch liniach naprawdę zrobi w powyższym kodzieC++ Opis przejścia cout.setf (ios :: fixed); i cout.precision();
cout.setf(ios::fixed);
cout.precision(3);
Proszę nie dajcie mi odpowiedzieć na jakieś wyjaśnienie byłoby bardzo mile widziane, ponieważ Robię instruktaż, aby jutro przygotować się do mojego końcowego egzaminu.
Szukałem i jakieś źródło mówi, że to ustawienie flagi, ale naprawdę nie rozumiem, co to pojęcie jest i jak to działa
[ 'std :: ios_base :: setf'] (http: // pl .cppreference.com/w/cpp/io/ios_base/setf) i ['std :: ios_base :: precision'] (http://en.cppreference.com/w/cpp/io/ios_base/precision). Obie strony zawierają wyjaśnienia dotyczące tego, co robią funkcje: – Praetorian
Dzięki! Naprawdę nie chcę zepsuć mojego procesu przechodzenia przez program, ale setf [Ustaw flagę] odnosi się do wszystkich wyników lub cokolwiek będzie później? – Ali
Nie rozumiem, co masz na myśli przez * wszystkie dane wyjściowe lub cokolwiek innego będzie miało później *. Stosujesz flagi formatujące do strumienia 'std :: cout', wywołując' setf() ', co wpływa na sposób, w jaki' printfs wypływa 'w przyszłych połączeniach. – Praetorian