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

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

Войти
Регистрация
Восстановить пароль
 
 
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
#1

Как называется такой объект? - C++

13.07.2012, 01:10. Просмотров 726. Ответов 18
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using namespace std;
class geometry
{
        public:
        static double area(double h, double w)
        {
                return h * w;
        }
        static double area(double r)
        {
                return r * r * 3.14;
        }
 
};
int main()
{
        double rectangle_area = geometry().area(3, 4);
        double circle_area = geometry().area(5);
        cout << rectangle_area << endl;
        cout << circle_area << endl;
 
        return 0;
}
А именно в строках 18 и 19. Здесь вызывается конструктор, а потом уже сам метод?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2012, 01:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как называется такой объект? (C++):

Как это называется? - C++
С. Прата, листинг 8.1 // использование встроенной функции #include &lt;iostream&gt; inline double square(double x) { return x*x; } //...

Как называется принцип? - C++
Что это за принцип шифрования, может кто рассказать? while ( *s != '\0') // до тех пор пока не встретим завершающий ...

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

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

Как называется условие if (!x) {} и как оно работает? - C++
Добрый день, как называется условие if (!x) {} и как работает? Если x вернет true, то x &quot;выполнится&quot; иначе сработает условие в скобках? ...

Как называется эта штука? - C++
Есть кусок кода. Как это называется? И что это? MediaBuffer::MediaBuffer(void *data, size_t size) : mObserver(NULL), ...

18
-=ЮрА=-
Заблокирован
Автор FAQ
13.07.2012, 01:12 #2
Цитата Сообщение от edward_jonson Посмотреть сообщение
double rectangle_area = geometry().area(3, 4);
* * * * double circle_area = geometry().area(5);
переменным с именами rectangle_area и circle_area типа double присваиваются значения возвращаемые методами класса :
в стр 18 методом double area(double h, double w)
в стр 19 методом double area(double r)
(оба метода класса перегружены, т.к. имеют одно и тоже название)
1
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.07.2012, 01:12 #3
Цитата Сообщение от edward_jonson Посмотреть сообщение
Как называется такой объект?
временный
temporary object
1
-=ЮрА=-
Заблокирован
Автор FAQ
13.07.2012, 01:15 #4
Цитата Сообщение от edward_jonson Посмотреть сообщение
class geometry
{
* * * * public:
* * * * static double area(double h, double w)
* * * * {
* * * * * * * * return h * w;
* * * * }
* * * * static double area(double r)
* * * * {
* * * * * * * * return r * r * 3.14;
* * * * }
};
- это класс с именем geometry метод double area(double h, double w) возвращает площадь прямоугольника, метод double area(double r) возвращает площадь окружности радиуса r
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.07.2012, 01:17 #5
тут неправильно код написан, думаю подразумевалось так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using namespace std;
class geometry
{
        public:
        static double area(double h, double w)
        {
                return h * w;
        }
        static double area(double r)
        {
                return r * r * 3.14;
        }
 
};
int main()
{
        double rectangle_area = geometry::area(3, 4);
        double circle_area = geometry::area(5);
        cout << rectangle_area << endl;
        cout << circle_area << endl;
 
        return 0;
}
1
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
13.07.2012, 01:19  [ТС] #6
-=ЮрА=-, спасибо, но с классами я немного знаком, и понимаю, что эти методы возвращают .
А насколько широко используются временные объекты в C++?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.07.2012, 01:23 #7
Цитата Сообщение от edward_jonson Посмотреть сообщение
А насколько широко используются временные объекты в C++?
Не очень часто, но есть куда они очень удачно вписываются

как правило либо для конструирования параметра функции (как http://www.cplusplus.com/reference/std/functional/plus/), либо для RAII
1
-=ЮрА=-
13.07.2012, 01:23
  #8

Не по теме:

alex_x_x, как в первом посте катит http://codepad.org/PG9kDlHO

0
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
13.07.2012, 01:24  [ТС] #9
alex_x_x, Неправильно, или вызов этих методов варьируется? Лично у меня работают оба варианта. В вашем случае временный объект также создаётся, или методы вызываются сами по себе?
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.07.2012, 01:24 #10
-=ЮрА=-, так я не спорю, просто смысл создавать объект для вызова статического метода?
1
-=ЮрА=-
Заблокирован
Автор FAQ
13.07.2012, 01:28 #11
Цитата Сообщение от alex_x_x Посмотреть сообщение
просто смысл создавать объект для вызова статического метода?
ну тогда думаю лучше сказать, что в случае кода в первом посте мы создаём два временных экземпляра класса т.к. присутсвует geometry(), во втором (твоём) случае напрямую используем методы класса через раскрытие области видимости (читай функции как в нэймспэйсе geometry записали).
1
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
13.07.2012, 01:35 #12
-=ЮрА=-, дада, именно в этом смысле
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6486 / 3130 / 307
Регистрация: 04.12.2011
Сообщений: 8,644
Записей в блоге: 5
13.07.2012, 01:36 #13
Цитата Сообщение от alex_x_x Посмотреть сообщение
Не очень часто, но есть куда они очень удачно вписываются
А разве автоматически они не создаются? При работе конструктора копирования, к примеру.
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.07.2012, 01:59 #14
IGPIGP, при таком построении класса
C++
1
2
3
4
5
class SomeClass
{
   public:
   double SomeFunc(...);
};
При раскрытии области видимости SomeClass::SomeFunc(...) ничего автоматом не создаётся, это аналогично если бы записали,
C++
1
2
3
4
namespace SomeClass
{
   double SomeFunc(...);
};
и сделали такой же вызов SomeClass::SomeFunc(...)
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.07.2012, 02:00 #15
Добавлено через 17 минут
Чтобы не было сомнений в постах 11 и 14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<iostream>
using namespace std;
 
int param = -3;
class geometry
{
public:
    geometry(){param = 1;}
    static int retParam()
    {
        return param;
    }
    static double area(double h, double w)
    {
        return h * w;
    }
    static double area(double r)
    {
        return r * r * 3.14;
    }
};
 
int main()
{
    double rectangle_area = geometry::area(3, 4);
    double circle_area    = geometry::area(5);
    cout << rectangle_area << endl;
    cout << circle_area << endl;
    cout<<geometry::retParam()<<endl;
    cout<<geometry().retParam()<<endl;
    return 0;
}
http://codepad.org/hRph2ZNM
12
78.5
-3
1
2
Миниатюры
Как называется такой объект?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2012, 02:00
Привет! Вот еще темы с ответами:

Как называется компонентная функция? - C++
Ребят,помогите пожалуйста напишите как вызывается компонентная функция?буду благодарен

Семантический вопрос... как называется язык-то? - C++
По моему правильно и разумно оформлять большие куски кода в классы в стиле с++, всё заинкапсулировать, следить за наследованием... Но...

«Структура в структуре» - как правильно называется? - C++
Как инициализируется и для чего может быть использована?

Подскажите, как называется этот прием? - C++
Всем привет:) Допустим, имеется какой-либо класс, имеющий поля данных и два метода: class someClass { private: ...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
13.07.2012, 02:00
Ответ Создать тему
Опции темы

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