Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Raynor585
0 / 0 / 1
Регистрация: 23.04.2015
Сообщений: 13
#1

Приведение типов - C++

28.07.2015, 11:30. Просмотров 246. Ответов 3
Метки нет (Все метки)

Доброго времени суток.

Пусть имеются две структуры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct Student
{
    string FirstName;
    string LastName;
    int year;
};
 
struct Person
{
    char* FirstName;
    char* LastName;
    int age;
};
 
int main()
{
    Person p;
    Student st;
 
    return 0;
}
Как правильно присвоить переменной st (типа Student) значение переменной p (типа Person)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2015, 11:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Приведение типов (C++):

Приведение типов
Доброго времени суток. Есть вопрос. Допустим: class Base { ..... }...

Приведение типов
в GUI ни int str = static_convert<int>(Edit1->Text) ни int str =...

Приведение типов
Добрый вечер! Реализовываю явное и не явное приведение типов. Есть два...

Приведение типов
Уважаемые программеры, ПОМОГИТЕ!!! Нужно (мне) реализовать шаблонную функцию...

приведение типов
Объясните, пожалуйста, почему возникает такая ошибка: error C2666: 'operator...

Приведение типов.
Доброго времени суток! В общем, есть класс Matrix(прямоугольные над полем...

3
hoggy
Заблокирован
28.07.2015, 11:57 #2
Цитата Сообщение от Raynor585 Посмотреть сообщение
Как правильно присвоить переменной st (типа Student) значение переменной p (типа Person)?
операция присвоения ортогональна приведению типов.

C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    Person p;
    Student st;
    
    st.FirstName = p.FirstName;
    st.LastName = p.LastName;
    st.year = p.age;
 
    return 0;
}
2
Raynor585
0 / 0 / 1
Регистрация: 23.04.2015
Сообщений: 13
28.07.2015, 12:49  [ТС] #3
Я не правильно наверно задал вопрос:
Для структур лучше
использовать приведение типов в стиле С:

C++
1
Student st = (Student) p;
либо испоьзовать стиль С++

C++
1
Student st = static_cast<Student>(p);
либо это по обстоятельствам и большой разницы нет?
0
hoggy
Заблокирован
28.07.2015, 13:36 #4
Цитата Сообщение от Raynor585 Посмотреть сообщение
либо это по обстоятельствам и большой разницы нет?
в данном случае это UB
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2015, 13:36
Привет! Вот еще темы с решениями:

Приведение типов
В паскале можно привести типы: type ts = 0..9; chislo = array of ts;...

Приведение типов
Есть ли какая-нибудь разница в следующих выражениях: float a = 123.4f ...

Приведение типов
Как компилятор заставить адекватней приводить типы? (VS2012) Например: int...

Приведение типов
Всем привет) Есть массив int a = {2 ,4 ,5 ,6 ,256} Числа располагаются по...


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

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

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