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

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

Войти
Регистрация
Восстановить пароль
 
thick_int
Заблокирован
#1

Методы статиеские и обычные - C++

06.02.2012, 01:34. Просмотров 452. Ответов 2
Метки нет (Все метки)

Во многих языках одни и те же действия реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы).

Правильно ли считать, что статический метод , как правило более эффективен своего нестатиеского аналога?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Методы статиеские и обычные (C++):

GetAsyncKeyState обычные клавиши - C++
Недавно начал учится программированию c++ и для практики решил сделать "что-то типо кей логгера". Естественно чтобы фиксировал нажатия...

Из динамических массивов в обычные - C++
#include <iostream.h> void trans_pointer() { int n,m,i,j; int **X,**Y; cout << "Enter m"<<endl; ...

Отличаются ли обычные функции от функций в классе? - C++
отличаются ли они?

Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы - C++
Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы Abiturient:...

Шаблон функции, принимающей обычные массивы и объекты - C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы,...

Зачем нужны обычные массивы, если есть динамические? - C++
Всем привет! Вопрос в заголовке. Если динамический массив даёт те же и ещё больше функций и, при том, лучше обращается с памятью, зачем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
06.02.2012, 01:43 #2
а что подразумевается под эффективностью? само выполнение метода если и будет отличаться, то совершенно несущественно. разница лишь в необходимости выделять память под сам объект для обычных методов и сопутствующими расходами. но к эффективности самих методов это отношения не имеет.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.02.2012, 07:50 #3
Цитата Сообщение от thick_int Посмотреть сообщение
реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы)
Не очень понятно, какой смысл реализовывать статический метод, который прекрасно выполняет свою функцию в своём статическом варианте, ещё и нестатическим. К чему в этом методе this, если статический метод прекрасно обходился без него. Может вас просто смутил вызов статического метода через экземпляр класса и вы подумали, что есть ещё и нестатический вариант метода? Если так, то нет, чтобы вызвать статический метод не через класс, а через объект, не нужно писать вторую нестатическую версию, статический метод можно спокойно вызвать через экземпляр.

Добавлено через 7 минут
Тем более, обычный метод не может иметь перегруженный статический аналог с такой же сигнатурой, компилятор не сможет разрешить неоднозначность. Так в C++, так в C# и так в Java.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2012, 07:50
Привет! Вот еще темы с ответами:

Как сделать чтобы в постфиксной записи кроме цифр выводились еще и обычные символы - C++
Есть код который делает конвертацию например 1 + 2 * 3 -->123*+ но а + b* c -->с -- то есть лиш последний введеный символ что здесь не...

Реализовать функцию, конвертирующую обычные буквы в буквы азбуки Морзе - C++
Доброго времени суток,у меня задача написать программу,которая будет конвертировать буквы в буквы азбуки Морзе,все получилось,но вот в чем...

Создать класс Triad (тройка чисел) - определить методы; определить производный класс Date - переопределить методы - C++
Создать класс Triad (тройка чисел); определить методы увеличения полей на 1. Определить производный класс Date с полями: год, месяц и день....

Как изменить обычные имена массивов на имена с указателями? - C++
надо чтобы указатели использовались #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() ...


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

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

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