Форум программистов, компьютерный форум CyberForum.ru

Как это сделать? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ отлов ошибок try, catch зачем он нужен? http://www.cyberforum.ru/cpp-beginners/thread592309.html
я вот пишу прогу, которая не отлавливает ошибку. try { int i=10; i=i/0; } catch(...) { printf("\n error");
C++ Инкремент ссылки int arr = {....} ; while(arr) // arr ссылка на начало массива то есть на 0 элемент ; { //тело цикла ++arr ;//инкремент } Собственно почему нельзя так? http://www.cyberforum.ru/cpp-beginners/thread592307.html
C++ Стороны прямоугольника заданы натуральными числами
Ребята пожалуйста нужно написать программу на С++. Отблагодарю!!! Стороны прямоугольника заданы натуральными числами M и N. Составьте программу, которая будет находить, на сколько квадратов, стороны которых выражены натуральными числами, можно разделить данный прямоугольник, если от него каждый раз отрезается квадрат максимально большой площади.
C++ Почему-то не реагирует на конец строки '\0'
Задача: нужно посчитать количество слов в строке. В программе ставлю условие: for(int i=0;i<=n-1;i++) if( mass!=' ' && (mass==' ' || mass=='\0') ) k++; А он доходит до конца строки и пройдя по последнему слову не делает k++. Как исправить?
C++ Массив в С++ http://www.cyberforum.ru/cpp-beginners/thread592281.html
Ребята помогите пожалуйста! Нужно сдавать лабораторную, а как делать не знаю( На с++. Нужно заполнить массив: 0 3 0 2 0 1 4 0 5 0 6 0 0 9 0 8 0 7 10 0 11 0 12 0 0 15 0 14 0 13 16 0 17 0 18 0 Найти количество элементов больше числа А, А вводится с клавиатуры.
C++ Программа выводит только первую строку текста // yourcat.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> using namespace std; int main(void) { int fleas; подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619

Как это сделать? - C++

31.05.2012, 13:26. Просмотров 309. Ответов 6
Метки (Все метки)

Предположим, есть некоторый класс, например, TTrigonometricComplex и я хочу сделать нём функции, которые будут доступны в левой части оператора присваивания и будут выполнять некоторые операции при присваивании, если же их указать в правой части, то другие.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TTrigonometricComplex
{
 protected:
  double AbsoluteData;
  double ArgumentData;
 public:
  double &Absolute     (); // Эта функция вопросов не вызывает
  double &Argument   (); // И эта функция вопросов не вызывает
  double &Real           (); // А эта вызывает
  double &&Imaginary(); // И эта тоже
};
double TTrigonometricComplex::Absolute ()
{
 return AbsoluteData;
}
double TTrigonometricComplex::Argument()
{
 return ArgumentData;
}
C++
1
2
3
4
5
6
7
8
9
10
TTrigonometricComplex a;
double x;
x=a.Absolute  (); // Функция вернёт ссылку, оператор выполнит x=AbsoluteData;
x=a.Argument(); // Функция вернёт ссылку, оператор выполнит x=ArgumentData;
a.Absolute  ()=x; // Функция вернёт ссылку, оператор выполнит AbsoluteData  =x;
a.Argument()=x; // Функция вернёт ссылку, оператор выполнит ArgumentData=x;
x=a.Real(); // Здесь надо выполнить x=AbsoluteData*cos(ArgumentData);
a.Real()=x; // А здесь TAlgebraicComplex b; b.Real()=x; b.Imaginary()=a.&Imaginary(); a=b;, то есть вычислить новые AbsoluteData и ArgumentData, соответствующие действительной части, равной x и мнимой части, равной старому значению мнимой части a
x=a.Imaginary(); // Здесь надо выполнить x=AbsoluteData*sin(ArgumentData);
a.Imaginary()=x; // А здесь TAlgebraicComplex b; b.Imaginary()=x; b.Real()=a.&Real(); a=b;, то есть вычислить новые AbsoluteData и ArgumentData, соответствующие мнимой части, равной x и действительной части, равной старому значению действительной части a
.
Можно это вообще сделать? И как?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru