Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Bllaaa
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
1

Функция внутри класса

01.04.2012, 19:52. Просмотров 1879. Ответов 6
Метки нет (Все метки)

Здраствуйте. Очень прошу знающих людей помочь мне. Покажите простой пример - Класс, внутри этого класса функция, которая вычисляет квадрат числа (которое должен ввести сам пользователь), а затем собственно выводиться и сам результат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 19:52
Ответы с готовыми решениями:

Рекурсивная функция внутри класса
Доброе утро!:) Задание такое: необходимо создать класс - "Звезды". У каждой...

Pthread функция потока внутри класса
Нужно чтобы функция pthread_create принимала на входе функцию-член класса, в...

Функция указатель на класс, определенный внутри шаблонного класса
Доброго времени суток! Помогите пожалуйста разобрать со следующим кодом: ...

Класс: Почему этот operator+ не хочет работать как функция внутри класса?
#include <iostream> #include <conio.h> using namespace std; class...

Создать объект внутри класса, который может вызывать функцию этого класса
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле...

6
M128K145
Эксперт JavaЭксперт С++
8326 / 3546 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
01.04.2012, 20:00 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
class Sqr
{
public:
    int getSqr(int number)
    {
        return number * number;
    }
};
 
int main()
{
    int number;
    std::cout << "Number: ", std::cin >> number;
    std::cout << "Square: " << (new Sqr())->getSqr(number);
    return 0;
}
1
Kuzia domovenok
2320 / 2069 / 480
Регистрация: 25.03.2012
Сообщений: 7,372
Записей в блоге: 1
01.04.2012, 20:05 3
Цитата Сообщение от Bllaaa Посмотреть сообщение
Здраствуйте. Очень прошу знающих людей помочь мне. Покажите простой пример - Класс, внутри этого класса функция, которая вычисляет квадрат числа (которое должен ввести сам пользователь), а затем собственно выводиться и сам результат.
Зачем для этой задачи вообще класс использовать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class numsqr{
  int data;
  int square;
 public:
  numsqr(int param=0): data(param){
                  square=param*param;
            }
  const int getdata(){
                  return data;
            }
  const int getsquare(){
                  return square;
            }
  void set(int param=0){
                  data=param;
                  square=param*param;
            }
};
Вообще задание выглядит как проблема на пустом месте. Вот зачем на практике может понадобиться такой класс? Знаю, задание не для практики, а для учёбы. Тогда чему он научить может??
А вот это
C++
1
2
3
4
5
6
7
8
class Sqr
{
public:
    int getSqr(int number)
    {
        return number * number;
    }
};
вот это вообще непонятно зачем. Зачем класс с одним единственным методом создавать? Не легче ли просто функцию написать?
0
Konstantin_D
14 / 14 / 6
Регистрация: 21.07.2011
Сообщений: 89
01.04.2012, 20:13 4
Прикольно получилось
C++
1
(new Sqr())->getSqr(number)
А почему в данном варианте не работает так:
C++
1
Sqr::getSqr(number)
И почему не сделать функцию статической?
0
M128K145
Эксперт JavaЭксперт С++
8326 / 3546 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
01.04.2012, 20:24 5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
вот это вообще непонятно зачем
это для того, чтобы выполнить условие задания
Цитата Сообщение от Konstantin_D Посмотреть сообщение
И почему не сделать функцию статической?
Можно и статической, но у ТС возник бы вопрос, что такое static, а у вас - почему я сделал статиком, а не создал объект
0
Kuzia domovenok
2320 / 2069 / 480
Регистрация: 25.03.2012
Сообщений: 7,372
Записей в блоге: 1
01.04.2012, 20:24 6
Цитата Сообщение от Konstantin_D Посмотреть сообщение
Прикольно получилось
C++
1
(new Sqr())->getSqr(number)
А почему в данном варианте не работает так:
C++
1
Sqr::getSqr(number)
И почему не сделать функцию статической?
Вот и я спрашиваю, зачем такое задание вообще нужно? Где здесь острая необходимость вообще в классе.
0
Konstantin_D
14 / 14 / 6
Регистрация: 21.07.2011
Сообщений: 89
01.04.2012, 20:38 7
Зачем для этой задачи вообще класс использовать?
А это чтобы делать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Sqr
{
    int x;
public:
    explicit Sqr(int n): x(n) {}
    void operator()(int& num) { num *= x; }
};
 
int main()
{
    vector<int> v;
    for (int i = 0; i<5; ++i)
        v.push_back(i);
    for_each(v.begin(), v.end(), Sqr(2));
    for_each(v.begin(), v.end(), Sqr(3));
}
Только не бейте
0
01.04.2012, 20:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2012, 20:38

Наследование: Как мне определить любой из методов заданного класса внутри другого класса?
Добрый день, подскажите пожалуйста, что я делаю не так Есть файл Container.h...

BST дерево. Инициализация класса внутри класса
Здравствуйте, нужно реализовать класс дерева бинарного поиска с использованием...

delete внутри класса для самого класса
Доброго времени суток, пишу программу для работы с матрицами. По условию дали...


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

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

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