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

Поля, переменные; Методы, функции; В чем отличие? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как переделать через указатели? http://www.cyberforum.ru/cpp-beginners/thread1103048.html
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; int main() { float u,v,n,h,x,y; cout <<" vvedite promejutok ot u do v, i n"<<endl; cin>>u>>v>>n;
C++ Ошибка при работе функции в классе В классе есть функция - double AM(void); - она должна складывать поэлементно массивы i и q, которые я сам создаю. Но, судя по результатам, вместо сложения происходит просто умножение на 2 элементов из массива q. От значений массива i вообще нет зависимости. Помогите найти ошибку. #include <iostream> #include <cmath> using namespace std; class demodulator { public: demodulator(double*... http://www.cyberforum.ru/cpp-beginners/thread1103030.html
Создать класс Book. Переменная типа Book должна содержать следующие поля: C++
Помогите решить=(. Создать класс Book. Переменная типа Book должна содержать следующие поля: название, количество авторов; авторы; год издания, количество страниц. Предусмотреть функции для выполнения следующих операций: инициализация книги, добавление авторов, консольный ввод / вывод информации о книге. Создать каталог (динамический массив), отсортировать элементы по названию (friend-функция).
C++ Напишите программу, которая приглашает пользователя ввести три результата забега на 40 ярдов
Напишите программу, которая приглашает пользователя ввести три результата забега на 40 ярдов (или 40 метров, если желаете) и затем отображает эти значения и их среднее. У меня получилось вот так: #include <iostream> #include <array> using namespace std;
C++ разветвляющие вычислительные процессы http://www.cyberforum.ru/cpp-beginners/thread1102994.html
помогите сделать лапу по программировать!
C++ Исключения: индекс массива Суть такова: нужно написать прогу, контролирующую индексы, которые выходят за пределы массива и генерирует исключения. В ошибке должна быть инфа о значении индекса, приведшего к сбою. Что-то накалякал, но я не совсем понял суть задания. В общем, помогите-объясните-покажите, пожалуйста. #include <iostream> using namespace std; #define N 255 int main() { setlocale(LC_ALL, "RUS"); int... подробнее

Показать сообщение отдельно
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
22.02.2014, 23:40     Поля, переменные; Методы, функции; В чем отличие?
mustimur, Не очень понял смысл твоего цитирования
Аммурка, тут в двух словах не расскажешь.
Цитата Сообщение от Аммурка Посмотреть сообщение
Сможешь объяснить? И поля тоже затронь.
Таких примеров много и каждый надо отдельно разбирать.
А есть еще статические функции и переменные класса. И считать ли их методами или не методами зависит от смысловой нагрузки, которую разработчик им определил.
Конкретно с операцией индексации - ее нельзя применять в отрыве от объекта (как и некоторые другие, например взятие адреса), поэтому стандарт языка запрещает определять ее отдельно.
Оператор сравнения бывает в двух формах: с одним аргументом и с двумя. Оператор с одним аргументом - это всегда метод, предполагается, что второй аргумент - это тот самые неявный this. Оператор с двумя аргументами - функция - разрешать помещать ее в класс (получается будет три аргумента) - не логично, поэтому это тоже запрещено.

Добавлено через 9 минут
Цитата Сообщение от Елена Едыгарова Посмотреть сообщение
В сети выловила, что методы, в отличие от функций, имеют "упрощенный" доступ к данным (полям класса)... Кроме того, возможно, есть разница по размещению в памяти у функций и методов....
Что же конкретно она имела в виду?
Упрощенный - это как раз и есть this, который можно не писать - для доступа к данным.
C++
1
2
3
4
5
6
7
8
9
10
void Class::method()
{
    this->data = 2;
    data = 2;
}
// и функция
void func(Class * obj)
{
    obj->data = 2;
}
где data - поле типа int класса Class. Замечу, что многие считают, что в подобных случаях, как в примере, функция func тоже может называться методом.
Надеюсь теперь понятно почему нельзя ответить однозначно на вопрос без четкой формулировки. Если тот простейший ответ в первом посте преподавателя не устроил, то здесь можно до бесконечности гадать что он имел в виду в зависимости от его личных предпочтений и его личного опыта в программировании.

Насчет размещения в памяти - еще более сложный вопрос, который требует рассмотрения в рамках конкретной системы, компилятора и настроек компилятора.
 
Текущее время: 10:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru