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

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

Войти
Регистрация
Восстановить пароль
 
Jack Wade
63 / 36 / 6
Регистрация: 24.02.2013
Сообщений: 250
#1

Не вводится int в функции класса - C++

03.09.2013, 01:05. Просмотров 273. Ответов 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"//В этот файл, добавляем [ #define _CRT_SECURE_NO_WARNINGS ]
#include <locale.h>
#include <stdio.h>
#include <Windows.h>
 
class CPascal//Мой класс функций ввода-вывода
{
    public://Функции "общедоступны"
            //Т.е. они могут быть унаследованны другим классом
            void readln(int x)
            {
            scanf("%d", &x);
            }
            void readln(char s[255])
            {
            gets(s);
            };
            void writeln(int x)
            {
            printf("%d\n", x);
            };
            void writeln(char s[255])
            {
            printf("%s\n", s);
            };
};
 
CPascal PascalFunction;//Переменная Моего класса
 
int _tmain(int argc, _TCHAR* argv[])
{
    char stroka[255]="NONE";//По умолчанию - строка равна "NONE"
          int chislo=0;//По умолчанию - число равно нулю
    setlocale(LC_ALL,"Russian");
        //Вот данный кусок кода - работает...
    //scanf("%d", &chislo);
    //system("pause");
    //system("cls");
    //printf("%d\n", chislo);
    //system("pause");
        //А вот здесь уже - ошибка... хотя, код по сути - один и тот же...
            //При вводе в PascalFunction.readln(char[255]) - строка вводится...
            //А если ввести PascalFunction.readln(int) - число остаётся в итоге пустым...
    PascalFunction.readln(chislo);
    system("pause");
    system("cls");
    PascalFunction.writeln(chislo);
    system("pause");
    system("cls");
    return 0;
}

Самое главное - строка то ведь изменяется в данном коде, а вот integer не в какую...
Я хочу сделать функцию, в которую нужно лишь посылать параметр, и которая будет возвращать в саму переменную результат, но что бы был тип у функции void...
В краце - хочу сделать "процедуру"(в С/C++ нету процедур, но есть без типовые функции, использовать которые Я бы и хотел в качестве "процедур"), которая заносит значение в посылаемую переменную...
Подскажите, "что не так"?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2013, 01:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не вводится int в функции класса (C++):

Функции float average(int arrray[],int from,int to) - C++
Напишите код функции float average(int arrray,int from,int to). Возвращаемым значением функции должно быть среднее значение элементов...

Дата вводится строкой нужно извлечь день месяц и год в int переменные - C++
Дата вводится строкой нужно извлечь день месяц и год в int переменные. два варианта передачи строки: 1) &quot;12.05.2012&quot; 2) в строке месяц...

Какими способами можно использовать функции класса B, как параметры функции Sub класса А? - C++
class A {... void Sub(...); ...} class B : ... { public: float f1(float); float f2(float); ...

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include &lt;iostream&gt; using...

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Написать функции для преобразования IP адреса из dot-decimal нотации в int и из int в dot-decimal нотацию - C++
IP-адрес - это четверка a.b.c.d, где a, b, c, d целые числа из интервала . Требуется написать функции encode и decode: unsigned int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xanderfomin
40 / 37 / 8
Регистрация: 25.10.2012
Сообщений: 112
03.09.2013, 02:16 #2
Если вкратце - в одном случае в функцию передаётся указатель, а в другом - значение.
Для начала почитай, например, вот этот тред, чтобы уяснить себе разницу между передачей по значению и по ссылке.
Функция должна выглядеть так:
C++
1
2
3
4
void readln(int* x)
{
     scanf("%d", x);
}
А её вызов - так:
C++
1
PascalFunction.readln(&chislo);
Jack Wade
63 / 36 / 6
Регистрация: 24.02.2013
Сообщений: 250
03.09.2013, 08:18  [ТС] #3
xanderfomin, спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 08:18
Привет! Вот еще темы с ответами:

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)' - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #define row 5 #define col 5 using namespace...

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Что есть argc и **argv в функции int main(int argc, char **argv)? - C++
Здраствуйте, уважаемые кодеры! Что означает argc и **argv в функции int main(int argc, char **argv), ни как не могу понять эти переменные...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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