С++ Модифицировать программу(закрытые переменные)
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Здравствуйте! Кому не сложно, помогите пожалуйста модифицировать программу таким образом, чтобы класс содержал закрытые переменные. Код готов. И еще проблема в программе есть когда выводится комплексное число после сложения, вычитания или умножения получается какой-то неверный вид, как исправить?(посмотрите изображение).
Вот само условие, если что:Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел.
Отщеплен новый топик «Как сделать русскую консоль?».
(1) У тебя и так есть закрытые переменные в количестве 1 (одна) штука — это
a
. По умолчанию, пока не указаноpublic
илиprotected
члены класса считаютсяprivate
.(2) При выводе числа «какой-то неверный вид» из-за того, что в строке
cout<< a<<"+i*"<< a[1];cout<<endl;
вместоa[0]
ты выводишь значениеa
, которое равно адресу первого элемента массива.(3) Для такого класса совершенно излишне динамически выделять память для хранения данных.
(4) Тип данных для действительной и мнимой части комплексного числа должен быть с плавающей точкой. По определению комплексного числа.
(5) «Код готов» — это ещё слабо сказано )) Не в обиду, но данный код демонстрирует полное непонимание принципов ООП. Классы — это не синтаксическая обёртка для фрагментов кода. Экземпляр класса должен работать как самостоятельная сущность.
(6) Выполняю просьбу по модификации программы:
Комментарии не нужны. Код должен говорить сам за себя. (с) не я ))
Но некоторые места я всё-таки поясню.
a + b
, чемa.Slog(b)
.main()
строки типа(a + b).Print();
работают так: для безымянного экземпляра класса, полученного в результате сложения (см. п.3), вызывается методPrint()
. Далее этот объект не нужен и будет автоматически уничтожен при выходе из функцииmain()
.Спасибо огромное!