Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Числа Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread76399.html
1ое задание: Числа Фибоначчи определяются формулами f0 =f1 = 1; fn = fn-1 + fn-2 при n =2,3,… Определить 40-е число Фибоначчи, найти первое число Фибоначчи, большее m (m>2). 2ое задание:...
C++ как подключить файл?
начал работу с файлами на языке Си, но не могу понять, как подключить файл, чтобы программа работала, где его надо создавать, какого типа он (блокнот, word).
C++ Игра "Питон"
Добрый вечер, вы не могли бы помочь милой девушке переделать игру змейка в игру питон?! суть в том что питон не растет и может есть лишь один цвет фруктов а второй не может (всего два цвета...
C++ C/C++ на смортфоне есть интерпритатор языка С/С++ на ОС Symbian 9? (вместе с компилятором). Если кто-нибудь знает нечто подобное - сообщите пожалуйста, где достать. http://www.cyberforum.ru/cpp-beginners/thread76384.html
C++ Строки/Символы на С http://www.cyberforum.ru/cpp-beginners/thread76369.html
Ребят, помогите. Уже 2 день пытаюсь сделать, никак. (Только С) Ввести строку, ввести набор символов. Если такая последовательность есть в строке заменить ее на символ $ , если нет выдать...
C++ Объктно-ориентированное программирование. С++
здравствуйте уважаемые программисты :) в универе задали решить задачки, если будет не трудно, помогите пожалуйста :) задачи: 1. Даны два двумерных массива целых чисел с размерами (4х5)...
Как переставить две строчки матрицы не используя цикла? C++
Как переставить две строчки матрицы не используя цикла? Помогите пожалуйста с задачей.
C++ Выбор в новый массив всех ненулевых элементов одномерного заданнова массива Гаспада зающее толк в этом деле, очень нуждаюся в ваше помощи ! Среда для разработки C++BUilder Разработать консольную программу выбора в новый массив всех не нулевых элементов одномерного ... http://www.cyberforum.ru/cpp-beginners/thread76332.html
C++ Решение задачи коммивояжёра при помощи перебора http://www.cyberforum.ru/cpp-beginners/thread76331.html
#include <iostream> using namespace std; int main() { setlocale (LC_ALL, "Russian"); int mass, n, k=1; cout<<"Введите количество городов"<<endl; cin>>n; cout<<"Поставьте длину пути из...
C++ Borland c++ 5.02 Тут получается 9 задач за каждую могу заплатить по 100 рублей.Кого заинтересовало Мой Icq 428850079. Сначала пишем в аську. Там разберемся... 1.Для матрицы размером NxM вывести положение всех ее... http://www.cyberforum.ru/cpp-beginners/thread76327.html
Red Planet
49 / 10 / 3
Регистрация: 20.09.2009
Сообщений: 263
0

Член-функция класса не работает

18.12.2009, 22:42. Просмотров 843. Ответов 11
Метки (Все метки)

Доброго вечера! Только что написал вот такой несложный класс, который определяет две характеристики предмета (вес и стоимость). Обнаружилась проблема, которая заключается в том, что при вводе этих характеристик посрдством член-функии ввода input, они, эти самые характристики как бы не запоминаются. Обнаружил это потому что пытался вывести их, но выводится бред.
Может что-то с конструктором не то, может функция input криво написана, не знаю.

Вот класс.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
typedef unsigned int unt;
 
class thing
{
 public: unt weight, cost, N[8]; //Вес, стоимость предмета, 8 - количество шагов.
 thing (unt, unt); //Конструктор №1.
 thing (); //Конструктор №2.
 void input (unt, unt); //Ввод масс и стоимостей.
 void output (unt, unt); //Вывод масс и стоимостей.
 thing& operator = (const thing &t1)  //Перегрузка оператора присваивания.
 {
  weight = t1.weight; cost = t1.cost;
  for (int i=0; i<8; i++) N[i]=t1.N[i];
  return *this;
 }
};//class thing.
 
thing::thing (unt w, unt c) //Конструктор №1 (Определение).
{
 weight = w; cost = c;
 for (int i=0; i<8; i++) N[i]=0;
}//konstruktor thing.
 
thing::thing () //Конструктор №2 (Определение).
{
 weight = cost = 0;
 for (int i=0; i<8; i++) N[i]=0;
}//konstruktor thing.
 
void thing::input (unt w, unt c)
{
 cout <<"\nМасса: ";
 cin >>w;
 weight = w;
 cout <<"Стоимость: ";
 cin >>c;
 cost = c;
}//input.
 
 
void thing::output (unt w, unt c)
{
 weight = w; cost = c;
 cout <<"Данные о предметах.\n"<<w<<" ("<<c<<")";
}//output.
Вот такой код работает:
C++
1
2
3
thing t1;
t1.cost = 20; t1.weight=50;
t1.output(t1.cost, t1.weight);
А вот такой нет (выводится, но бред):
C++
1
2
3
4
int a, b;
thing t1;
t1.input (a, b);
t1.outpit (a, b);
Стало быть функция вывода работает исправно, а вот ввод нет.
В чем моя ошибка?

Вернуться к обсуждению:
Член-функция класса не работает
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2009, 22:42
Готовые ответы и решения:

Непонятно работает функция - член класса
Задача создать телефонный справочник с использованием бинарного дерева. Проблема возникает при...

Перегрузка операций: friend-функция или функция-член класса
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов через operator и...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и...

Не функция-член класса
Фрагмент из книги, об дружественной функции operator&lt;&lt;: &quot;Обратите внимание, что она не является...

Функция-член шаблонного класса
Как правильно объявить функцию-член шаблонного класса? Класс: template &lt;class SType&gt; class Set...

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