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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рики
6 / 6 / 1
Регистрация: 27.02.2013
Сообщений: 23
#1

Суммировать два значения (классы) - C++

27.02.2013, 02:14. Просмотров 392. Ответов 4
Метки нет (Все метки)

Объекты класса С1 и С2 анализируются нормально, но почему С3=2? Даже если инициализировать С1 =2, а С2 =5, то С3 = С1+С2 =2.
Подскажите где ошибка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////////////////////
class LInt
{
   private:
      int data;
   public:
      void ravnoNulu()
      {data=0;}
      void celoeZnachenie()
      {cout<<"Ââåäèòå öåëîå ÷èñëî: "; cin>>data;}   
      void showD()
      {cout<< data<<endl;}
      void add_data( LInt, LInt);
};
//------------------------------------------------------------------------------
void LInt::add_data( LInt I1, LInt I2)
      {int data=I1.data+I2.data;}  
////////////////////////////////////////////////////////////////////////////////
int main()
{
LInt C1, C2, C3;
C1.celoeZnachenie();
C2.celoeZnachenie();
C3.add_data(C1,C2);
C1.showD();
C2.showD();
C3.showD();
system("pause");
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 02:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Суммировать два значения (классы) (C++):

Поэлементно суммировать два заданных массива - C++
Подскажите пожалуйста как решить задачу: Дано два массива 1-10, нужно чтобы первый цифр первого массива суммировался с первый цифром...

В файле суммировать подряд идущие значения одного знака - C++
Пусть дан файл целых чисел. Создайте новый файл, значения в который записываются по следующему правилу: суммируются подряд идущие...

Создать два файла целых чисел, первый содержит значения дней, а второй — значения месяцев - C++
File67. Дан строковый файл, содержащий даты в формате «день/месяц/год», причем под день и месяц отводится по две позиции, а под год —...

Массивы. Классы. Нахождение среднего значения дробей - C++
Напишите функцию main(), которая получает случайные дробные числа от пользователя, сохраняет их в массиве типа fraction, вычисляет среднее...

Указатели и классы: присвоение значения элементу массива, который является полем класса - C++
Доброго времени суток, делал задание, где надо создать класс, полем которого будет массив указателей на другие массивы и перегрузить...

Вывести на экран два массива, элементами первого являются элементы, меньшие заданного значения, элементами второго - большие заданного значения - C++
Задан массив целых чисел. Вывести на экран два массива, элементами первого являются элементы, меньшие заданного значения, элементами...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 02:28 #2
C++
1
2
3
4
void LInt::add_data(LInt I1, LInt I2)
{
    data = I1.data + I2.data;
}
1
Рики
6 / 6 / 1
Регистрация: 27.02.2013
Сообщений: 23
27.02.2013, 12:02  [ТС] #3
Да, действительно, все работает. А почему двойка была?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.02.2013, 18:23 #4
Цитата Сообщение от Рики Посмотреть сообщение
Да, действительно, все работает. А почему двойка была?
Почему двойка не знаю. У меня просто мусор выводился(наверное, от компилятора зависит). Поле data, у объекта C3, обрабатывал конструктор по умолчанию. Что он туда прописал неизвестно (у меня - ничего, поэтому и мусор). А в методе add_data(), в вашем коде, происходило не заполнение этого поля, а инициализация локальной переменной int data, созданной в этом методе, которая переставала существовать после выхода из метода.
0
Рики
6 / 6 / 1
Регистрация: 27.02.2013
Сообщений: 23
27.02.2013, 20:33  [ТС] #5
Большое спасибо за вашу помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2013, 20:33
Привет! Вот еще темы с ответами:

Возвратить из функции два значения - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double F(double x) { double f = 0; f = pow(x, 1/2)+ pow(x,...

Передать в функцию два значения float - C++
Здравствуйте. Например: void Func( Один аргумент. ) { } Как в этот один аргумент передать два значения float ?

Конструктор принимающий два целочисленных значения - C++
Добрый день существует Конструктор принимающий два целочисленных значения, как можно просмотреть его значение в теле int main() ? A(int...

Два значения в одном элементе списка - C++
Подскажите как в сделать односвязный список, чтобы при добавление элемента добавлялись два значения?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2013, 20:33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru