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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Bllaaa
11 / 11 / 1
Регистрация: 08.12.2011
Сообщений: 148
#1

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

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

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

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

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

Функция указатель на класс, определенный внутри шаблонного класса - C++
Доброго времени суток! Помогите пожалуйста разобрать со следующим кодом: template <class T> class List{ class Node{ public: ...

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

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

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

6
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
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
1950 / 1803 / 138
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 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 / 2
Регистрация: 21.07.2011
Сообщений: 89
01.04.2012, 20:13 #4
Прикольно получилось
C++
1
(new Sqr())->getSqr(number)
А почему в данном варианте не работает так:
C++
1
Sqr::getSqr(number)
И почему не сделать функцию статической?
0
M128K145
Эксперт С++
8297 / 3517 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.04.2012, 20:24 #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
вот это вообще непонятно зачем
это для того, чтобы выполнить условие задания
Цитата Сообщение от Konstantin_D Посмотреть сообщение
И почему не сделать функцию статической?
Можно и статической, но у ТС возник бы вопрос, что такое static, а у вас - почему я сделал статиком, а не создал объект
0
Kuzia domovenok
1950 / 1803 / 138
Регистрация: 25.03.2012
Сообщений: 6,245
Записей в блоге: 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 / 2
Регистрация: 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
Привет! Вот еще темы с ответами:

Заполнение вектора класса внутри самого класса - C++
class A { private: int a; public: A() { a = 0; }; A get(vector &lt;A&gt;* vec)

Объявление дружественного класса внутри класса - C++
class A{ friend class B{ B(A &amp;a); } } Подскажите пожалуйста, такое возможно или нет, я хотел чтобы...

Методы класса внутри определения класса - C++
Все привет! Решил закрепить свои знания по C++, читаю Р.Лафоре - &quot;Объектро-ориентированное программирование в C++&quot;. В книге, на...

Видимость экземпляра класса внутри класса - C++
Здравствуйте! Пытаюсь вывести openCV видео в QT виджете. На данный момент в слоте обновления картинки инициализирую класс cv::VideoCapture...


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

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

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