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

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

Войти
Регистрация
Восстановить пароль
 
Лена А
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 3
#1

приведение типа - C++

16.06.2010, 15:16. Просмотров 406. Ответов 6
Метки нет (Все метки)

Здравствуйте. у меня такой вопрос. как можно в c++ 2008 поменять тип. мне нужно char перевести в int, я пробовала char a; int y; y=(int)a; не получается. ПОМОГИТЕ ПОЖАЛУЙСТА ОЧЕНЬ НУЖНО!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2010, 15:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос приведение типа (C++):

Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'" - C++
#include <stdio.h> class A { int somemember; public: A(){printf("A()\n");} A(char*){printf("A(char*)\n");} ...

Приведение типа указателя - C++
Здравствуйте, у меня такой вопрос: как организовать приведение типа указателя к другому? Есть указатель string *ptr; на поле класса, нужно...

Приведение производного типа к предку - C++
Есть класс-обертка Inherit, есть класс Base: class Inherit : public Base { public: int c; Inherit(int a, b, _c) :...

Приведение типа указателя на метод - C++
Здравствуйте. Есть функция, принимающая void (*f)(), возможно ли использовать ее в классе, передавая ей не-static метод этого класса? ...

Приведение типа через указатель - C++
#include <iostream> using namespace std; int main() { double b = 2.3; int* pb; pb = (int*)&b; *pb =...

Приведение указателя базового типа - C++
У меня не получается выполнить приведение указателя базового типа. Я, и static_cast пробовал, и dynamic_cast пробовал, но компилятор всё...

6
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
16.06.2010, 15:32 #2
Цитата Сообщение от Лена А Посмотреть сообщение
y=(int)a; не получается.
Вопрос в том, что по-вашему должно было получиться...
Вот так выводит символ '0' (заметьте - не число, а именно символ) и три раза подряд код этого символа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main(){
    char ch;
    int a, b, c;
 
    ch = '0';
    a = ch;
    b = (int)ch;
    c = static_cast<int>(ch);
    std::cout << "ch = " << ch << "\na =  " << a << "\nb =  " << b << "\nc =  " << c << std::endl;
    return 0;
}
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
16.06.2010, 15:33 #3
C++
1
2
3
    int a;
    char b = '1';
    a = b - 48;
Вот так будет работать.
0
Лена А
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 3
16.06.2010, 17:30  [ТС] #4
Спасибо большое. очень помогли...

Добавлено через 1 час 39 минут
и еще один вопрос, а как из int получить char?

Добавлено через 17 секунд
и еще один вопрос, а как из int получить char?
0
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
16.06.2010, 17:45 #5
есть явное приведение типов
C++
1
2
3
int ia;
char ca;
ca=(char)ia;
не явное
C++
1
2
3
int ia;
char ca;
ca=ia;
и так и так должно работать.
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
16.06.2010, 17:52 #6
C++
1
2
3
    char a;
    int b = 1;
    a = b + 48;
Добавлено через 1 минуту
Mur3ik, так работать не будет.
0
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
16.06.2010, 17:56 #7
Vladimir616, если речь о приведении типов, то как раз "так" работать будет. Другое дело - барышне скорее всего нужно перевод цифр из численного представления в символьное и обратно исполнить, а фразу "приведение типа" она где-то в умной книжке подхватила...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2010, 17:56
Привет! Вот еще темы с ответами:

Приведение типа к другому классу - C++
Предположим есть класс class A { char a; void foo(); }; можно ли делать так class B: public A

ООП. Динамическое приведение типа от родителя к наследнику - C++
Добрый день, коллеги. Проблема в следующем. Есть два библиотечных класса (xerces). 1) DOMElement class DOMElement : public DOMNode ...

(dynamic_cast) Восходящее приведение типа.(объяснить принцип работы) - C++
Вот восходящее приведение типа: class B { }; class C : public B { }; class D : public C { }; void f(D* pd) { ...

Объяснить, что происходит в коде (приведение одного типа указателей к другому?) - C++
char* a = &quot;Hell&quot;; int* b =(int*) a; cout &lt;&lt; *b; Как я понимаю в этом кусочке кода происходит преобразование одного типа...


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

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

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