Создайте класс Sum в пространстве имен Programmer_1 и Programmer_2, и пусть у этого класса будут методы, включающие double a, set(), get() и методы перевода заданного числа a в восьмеричную систему счисления.
Назначение:
Ссылайтесь на поля и методы класса в обоих этих пространствах имен в основном приложении
Ответы
Відповідь:
#include <iostream>
#include <string>
namespace Programmer_1 {
class Sum {
public:
double a;
void set(double value) { a = value; }
double get() { return a; }
std::string to_octal() {
int n = static_cast<int>(a);
std::string octal = "";
while (n != 0) {
octal = std::to_string(n % 8) + octal;
n /= 8;
}
return octal;
}
};
}
namespace Programmer_2 {
class Sum {
public:
double a;
void set(double value) { a = value; }
double get() { return a; }
std::string to_octal() {
int n = static_cast<int>(a);
std::string octal = "";
while (n != 0) {
octal = std::to_string(n % 8) + octal;
n /= 8;
}
return octal;
}
};
}
Вы можете использовать этот класс так:
int main() {
Programmer_1::Sum sum1;
sum1.set(10);
std::cout << sum1.get() << std::endl;
std::cout << sum1.to_octal() << std::endl;
Programmer_2::Sum sum2;
sum2.set(20);
std::cout << sum2.get() << std::endl;
std::cout << sum2.to_octal() << std::endl;
return 0;
}
Пояснення: