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

Классы - C++

Восстановить пароль Регистрация
 
B@bruych@n1n
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
30.12.2010, 18:14     Классы #1
Помогите пожалуста решить задачу
Создайте класс в соответствии с условием задачи. Определить функции-члены класса для вывода реализации требуемых действий. Инициализацию переменных проведите с помощью конструктора.
Дано натуральное число n. Получите наименьшее натуральное число вида m^2, превосходящее n.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2010, 18:14     Классы
Посмотрите здесь:

C++ Классы
Классы C++
Классы C++
C++ классы с++
Классы в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.12.2010, 18:35     Классы #2
Интересно, чему создатели подобных заданий хотят научить собственно учеников? Не уж то пихать классы в любую программу на Си++? Потому как, например, в этой задаче классы нафиг не нужны, тут нет никакой сущности, которую с помощью класса можно описать. И поэтому в таких задачах стоит возвращаться к старому доброму структурному программированию...

Добавлено через 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
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <cmath>
 
/*
Создайте класс в соответствии с условием задачи. Определить функции-члены класса для вывода реализации требуемых действий. Инициализацию переменных проведите с помощью конструктора.
Дано натуральное число n. Получите наименьшее натуральное число вида m^2, превосходящее n.
*/
 
class Foo
{
private:
    int _n;
 
public:
    Foo(int = 2);
 
    int get_m2() const;
};
 
Foo::Foo(int n):
_n(n)
{
}
 
int Foo::get_m2() const
{
    return pow(static_cast< int >(sqrt(static_cast< double >(_n))) + 1, 2.0);
}
 
int main()
{
    Foo bar(3);
 
    std::cout << bar.get_m2() << std::endl;
 
    return 0;
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
30.12.2010, 19:50     Классы #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
тут нет никакой сущности, которую с помощью класса можно описать.
Натуральное число. Чем не сущность?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.12.2010, 20:00     Классы #4
rangerx, хм... И у него обязательно должен быть метод получения ... ну дальше по заданию? Надуманный метод, натуральное число и без него проживёт, вам не кажется?
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
31.12.2010, 08:32     Классы #5
Цитата Сообщение от rangerx Посмотреть сообщение
Натуральное число. Чем не сущность?
Ну так у нас же есть unsigned int, size_t и пр., описывающие натуральные числа. Зачем тут еще и класс вводить?
silent_1991
31.12.2010, 13:07
  #6

Не по теме:

Nameless One, и я о том же )))

rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
31.12.2010, 13:28     Классы #7
Цитата Сообщение от Nameless One Посмотреть сообщение
Ну так у нас же есть unsigned int, size_t и пр., описывающие натуральные числа. Зачем тут еще и класс вводить?
Хотя бы затем чтобы обеспечить более адекватное поведение при попытке присваивания недопустимых значений. Относительно данного задания написание подобной обёркти/класса вполне логично.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.12.2010, 17:47     Классы #8
rangerx, а что в этом задании такого, что обязательно необходима обёртка? Разве что инициализация при создании, но так это нужно для любого создаваемого объекта, не под каждый же чих обёртку писать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2011, 19:34     Классы
Еще ссылки по теме:

C++ Классы в c++
C++ Классы
C++ Классы

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

Или воспользуйтесь поиском по форуму:
B@bruych@n1n
0 / 0 / 0
Регистрация: 22.04.2010
Сообщений: 21
01.01.2011, 19:34  [ТС]     Классы #9
Я сам полностью согласен что эту задачу можно с легкостью написать без классов. Единственная причина по которой ее нужно написать с помощью класса - это простое желание преподавателя.
Yandex
Объявления
01.01.2011, 19:34     Классы
Ответ Создать тему
Опции темы

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