• Предмет: Информатика
  • Автор: saidabdullosaidazizo
  • Вопрос задан 4 месяца назад

Создайте класс Sum в пространстве имен Programmer_1 и Programmer_2, и пусть у этого класса будут методы, включающие double a, set(), get() и методы перевода заданного числа a в восьмеричную систему счисления.
Назначение:
Ссылайтесь на поля и методы класса в обоих этих пространствах имен в основном приложении

Ответы

Ответ дал: grigorijbotvinov
0

Відповідь:

#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;

}

Пояснення:

Вас заинтересует