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

Не удается передать значение членам класса - C++

Восстановить пароль Регистрация
 
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
29.04.2013, 19:35     Не удается передать значение членам класса #1
Доброе время суток, возникла проблема, при создании класса добавил функцию, с помощью которой я задаю значение переменных x,y и строки path, однако использовать их не получается(проверял cout<<x,y внутри функции, в итоге выдает значение только первой переменной(в приведенной строчке x, если написать cout<<y," ",x, то только y)) из-за этого построение прямоугольника не получается, помогите справиться с проблемой, прикрепляю скриншот, заранее спасибо.

p.s.
1 да, я работаю в turbo c++1.0
2 насчет конструктора знаю, но с ним еще больше багов получается.
Миниатюры
Не удается передать значение членам класса  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 19:35     Не удается передать значение членам класса
Посмотрите здесь:

C++ Доступ к членам класса класса
Оператор this и обращение к членам класса C++
Доступ к private членам класса C++
C++ Присваивание значений членам класса
C++ Передать значение члена класса потомку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
29.04.2013, 20:44
  #2

Не по теме:

Что за среда у Вас такая?

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2013, 20:48     Не удается передать значение членам класса #3
Статические элементы класса (x, y) у вас инициализированны?
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
29.04.2013, 20:55     Не удается передать значение членам класса #4
Цитата Сообщение от Sid1057 Посмотреть сообщение
в итоге выдает значение только первой переменной
Странно, что первой. Оператор "," по-идее должен возвращать значение последнего выражения.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
29.04.2013, 20:56     Не удается передать значение членам класса #5
Видимо, вам нужно вместо std::cout << x, y; написать std::cout << x << "," << y;
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
29.04.2013, 21:04  [ТС]     Не удается передать значение членам класса #6
Цитата Сообщение от metaluga145 Посмотреть сообщение
Не по теме:
Что за среда у Вас такая?
Цитата Сообщение от Sid1057 Посмотреть сообщение
p.s.
1 да, я работаю в turbo c++1.0

Цитата Сообщение от alsav22 Посмотреть сообщение
Статические элементы класса (x, y) у вас инициализированны?
должно быть без static, это я уже экспериментировал



Цитата Сообщение от lemegeton Посмотреть сообщение
Видимо, вам нужно вместо std::cout << x, y; написать std::cout << x << "," << y;
да, я так и делал, ничего не получается, к тому же цель класса не выводить на экран эти значения, а строить прямоугольник 10х10 с началом в заданной координате

помогите пожалуйста, в чем ошибка, парадокс какой-то
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2013, 21:09     Не удается передать значение членам класса #7
Код покажите: какой пробуете и как. По скрину что-ли гадать?
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
29.04.2013, 21:13  [ТС]     Не удается передать значение членам класса #8
alsav22, в самом коде я использую только obj.set() и obj.crt(), функция маин выглядит так
C++
1
2
3
class ico tc;
tc.set(10,10,"tc");
tc.crt();
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2013, 21:22     Не удается передать значение членам класса #9
Откуда видите, что не работает?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2013, 21:33     Не удается передать значение членам класса #10
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>
#include <cstdlib>
using namespace std;
 
class ico
{
  public :
    int x, y;
    char path[64];
    
    void set(int cx, int cy, char spath[64])
    {
        x = cx;
        y = cy;
        int i;
        for (i = 0; spath[i]; ++i)
            path[i] = spath[i];
        path[i] = '\0';
    }
};
 
 
int main()
{
    ico tc;
    tc.set(10, 10, "tc");
    cout << tc.x << ' ' << tc.y << ' ' << tc.path << endl;
 
    system("pause");
    return 0;
 
}
Миниатюры
Не удается передать значение членам класса  
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
29.04.2013, 22:03  [ТС]     Не удается передать значение членам класса #11
alsav22, спасибо, однако вы упустили главное, в моем коде главная проблема заключается в том, что функции crt(x,y,path) не передается значение переменной y, получается ли построение у вас?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2013, 22:14     Не удается передать значение членам класса #12
Цитата Сообщение от Sid1057 Посмотреть сообщение
главная проблема заключается в том
Главная проблема заключается в том, что вы не можете правильно поставить вопрос, а телепатов здесь нет. О чём речь идёт непонятно. На скрине у вас реализация crt(x, y) (почему-то без типов параметров, а в 9 посте вы её вызываете без параметров. Это как понять? Это всё как у вас компилируется?
Croessmah
30.04.2013, 09:39
  #13

Не по теме:

Цитата Сообщение от lemegeton Посмотреть сообщение
Странно, что первой. Оператор "," по-идее должен возвращать значение последнего выражения.
Именно. Но оператор запятая имеет самый низкий приоритет, поэтому получается так:
C++
1
(cout<<y),(" "),(x)
а значение x "возвращается" в никуда

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2013, 10:23     Не удается передать значение членам класса
Еще ссылки по теме:

Как передать значение функции класса в другую функцию? C++
Доступ к членам класса C++
Не удается присвоить значение статическому полю класса C++

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

Или воспользуйтесь поиском по форуму:
Sid1057
5 / 5 / 2
Регистрация: 22.02.2013
Сообщений: 174
30.04.2013, 10:23  [ТС]     Не удается передать значение членам класса #14
alsav22, прошу прощение за то, что не понятно изложил проблему, вы правы, ошибка была в том, что я добавил параметры в функцию crt(), чего делать не стоило, большое спасибо, еще раз извините.
Yandex
Объявления
30.04.2013, 10:23     Не удается передать значение членам класса
Ответ Создать тему
Опции темы

Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru