1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Help!

Тема в разделе "С и С++", создана пользователем din-gior, 27 дек 2006.

  1. din-gior

    din-gior Гость

    Репутация:
    0
    Помогите пожалуйста решить задачки
    45. int F() { struct X { int s, p; }; X a = {1, 2}; X b = {3, 4}; return a.s + b.p; }
    46. bool F() { struct X { int s, p; }; X a = {1, 2}; X b = {3, 4}; return a.s > b.p; }
    47. int F() { class A { public: int x; int Out() { return x / 2;} }; A a; a.x = 1; return a.Out(); }
    48. int F() { class A { public: int y; A(int x) { y = 2; } }; A z(0); return z.y; }
    49. bool F() { class A { int x; public: A(int y) { x = y + 1; } }; int k = 5; A z(k); return k; }
    50. bool F() { class A { public: int y; A(int x = 0) { y = x; } }; A z(8); return z.y == 0; }
     
  2. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    Ты хоть сам понимаешь что надо сделать?
     
  3. Creo

    Creo Гость

    Репутация:
    0
    Вообще-то насколько я понял нужно ответить, что вернет ф-ция.
    45.
    Код:
    int F() 
    { 
    struct X 
    { 
    int s, p; 
    };
    X a = {1, 2}; 
    X b = {3, 4}; 
    return a.s + b.p; 
    }
    В функции локально определена структура и инициализированна значениями 1, 2 и 3, 4 соответственно. Вернет значение 5 т.е 1+4. По анологии 46 вернёт логическое значение false т.к 1>4 ложное утверждение. А вообще берем учебник и читаем следующие темы инициализация переменных, конструкторы, классы и структуры ;) Успехов... :)
     
  4. Creo

    Creo Гость

    Репутация:
    0
    47 Задача немного интересней. Там создается класс с int переменной и int-возвращающей ф-цией, то есть глобальная функция вернет не 0,5 а 0.
    48 Тоже еще то дурилово. Создан класс с конструктором. Конечно его инициализируют 0 но этот ноль нигде не участвует Y(переменной-члену) присвоят значение 2. Следовательно ф-ция вернет 2.
    Следующие два вопроса отвечу завтра. Сегодня лень уже. А вообще надо читать книги, хоть немного. Веть ты, может быть, программист в будующем... Кул хацкер.. ;)
     
  5. Creo

    Creo Гость

    Репутация:
    0
    Как-то безграмотно ответил :( Вы уж простите. Конструктор не инициализируют нулем(вообще фраза дибильная... ;) ). Но в остальном фсе правильно. Вроде...
     
  6. Creo

    Creo Гость

    Репутация:
    0
    Вот как и обещал последние две задачки. В первой задаче всю мутятину с классом вообще можно пропустить т.к. все равно возвращают значение локальной переменной k, которая с классом никак не связана. Т.е. return 5. Так как возвращаймое значение должно быть логического типа, то компилятор преобразует 5 в true (в Си и Си++ любое ненулевое значение эвивалентно true, нулевое -- false).
    Во второй задаче возвращается значение логического выражения z.y ==0; если z.y равно нулю, то true иначе сам догодайся ;) . Теперь осталось определить, чему равно z.y. Оно равно восьми. Почему?
    Читай тему конструкторы и параметры передаваемые в ф-цию по умолчанию. ВСЁ :(
     
  7. din-gior

    din-gior Гость

    Репутация:
    0
    Пасибо большое всем, я не программист совсем в будущем, а электротехник, а книжки читать просто некогда было 200 задач таких вот
     
Загрузка...

Поделиться этой страницей