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

Передать поле класса в функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача нахождения кратчайшего пути http://www.cyberforum.ru/cpp-beginners/thread1506682.html
Никак не могу понять почему в таких типах задач у меня ошибка. Помогите найти ошибку, и если сможете объясните её. Условие Робот-кладоискатель перемещается по квадратному клетчатому полю, размером 6 на 6 клеток. Часть клеток поля содержит клады монет. Числа в клетках указывают, что в соответствующей клетке есть клад из этого количества монет. 0 10 0 1 0 B 3 0 4 0 1 0 7 0 0 4 0 0 0 0 3 0...
C++ Собеседования по С++ для джуна Добрый день, если вы бы проводили собеседования по С++ для джуна - какой вопрос по С++ вы бы припасли как самый сложный? Для меня пока, что самый сложный вопрос (который расскрыл бы многие области знания по С++) такой: - опишите все факторы, которые влияют на размер экземпляра класса. Какой минимальный и максимальный размер пустого класса. http://www.cyberforum.ru/cpp-beginners/thread1506665.html
Необязательные временные объекты C++
Помогите с задачкой: Класс Car содержит модель автомобиля. Функция Find определяет, присутствует ли указанная модель в списке автомобилей. class Car { string model_; public: Car(string mod) :model_(mod){} bool operator==(const Car& other) {
C++ Уведомления между потоками
Здравствуйте! Набросал код для экспериментов: #include "stdafx.h" int блок_1(HWND *hWnd, MyStruct* strukt_1); int сервис_1(HWND *hWnd, MyStruct* strukt_1); void блок(HWND *hWnd, MyStruct* strukt_1)//запускаем основной поток { int q = 0;
C++ Когда в ОС используется COM ? http://www.cyberforum.ru/cpp-beginners/thread1506576.html
Для каких действий ОС использует COM технологию ? Всегда ли она используется при исполнении exe файлов?
C++ Где найти все глаголы для ShellExecute ? Здравствуйте. Где и как посмотреть список допустимых глаголов системы? Знаю о существовании страницы в msdn , но функция которую я нашел в интернете и использую использует глагол "runas", которого нет на странице. подробнее

Показать сообщение отдельно
QVO
 Аватар для QVO
637 / 448 / 32
Регистрация: 26.10.2010
Сообщений: 1,261
Записей в блоге: 4
Завершенные тесты: 2
29.07.2015, 14:00     Передать поле класса в функцию
Здравствуйте форумчане.
Как передать поле класса в функцию с возможностью изменения значения этого поля?

Ссылка на компиляцию: http://ideone.com/qlBirp

Два класса для теста:
C++
1
2
3
4
5
6
class Genre
{
    public:
        Genre() = default;
    std::string name;   
};
C++
1
2
3
4
5
6
7
struct Provider
{
    public:
        Provider() = default;
    std::string name;   
    std::string logo;
};
Функция:
C++
1
2
3
4
5
6
template<typename Class, typename Field>
void foo(shared_ptr<Class> myClass, Field myField)
{
    std::cout << myClass->myField << std::endl;
    myClass->myField = "hello";
}
Применение:
C++
1
2
3
4
5
6
7
8
int main() {
    auto genre = std::make_shared<Genre>();
    auto provider = std::make_shared<Provider>();
    
    foo<Genre, std::string Genre::*name>(&genre, &genre->name);
    
    return 0;
}
С уважением QVO.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru