Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
2 / 2 / 1
Регистрация: 26.10.2010
Сообщений: 67

Пример с помощью класса

13.02.2012, 22:07. Показов 1686. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решить следующий пример с помощью класса:



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
#include <iostream.h>
#include <math.h>
class my
{
double b;
int i;
public:
void f1(double x,double y,double z)
{ 
b=(abs((pow (x,y/x)-pow(sqrt (y/x),3))+(y-x)*((cos(y)-z/(y-x))/(1+pow((y-x*x),2));
}
void f2(void)
{
cout<<"b="<<b<<endl;
}
}
main()
{
double x = 1.825e2;
double y = 18.225;
double z = -3.298e-2;
my fun1;
fun1.f1(x,y,z);
fun1.f2();
cout<<endl;
}
Ругается на 10 строчку
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2012, 22:07
Ответы с готовыми решениями:

Нужен пример неизменяемого класса и класса от которого нельзя наследоваться
Здравствуйте! Нужно привести пример неизменяемого класса и класса от которого нельзя наследоваться.

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью конструктора с параметрами.

Приведите пример класса с методом и конструктором. Создайте экземпляр этого класса. Правильный ли пример?
class Point { int х, у; Point(int х, int у) { this.x = х; this.у = у; } }

13
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.02.2012, 22:38
Цитата Сообщение от Orion6767 Посмотреть сообщение
Ругается на 10 строчку
Со скобками намудрили.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.02.2012, 22:39
Цитата Сообщение от Orion6767 Посмотреть сообщение
my fun1;
my fun1=new my();//?
0
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.02.2012, 22:41
Цитата Сообщение от IGPIGP Посмотреть сообщение
my fun1=new my();//?
Не понял
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.02.2012, 22:47
Цитата Сообщение от Orion6767 Посмотреть сообщение
my fun1;
вроде объявление...
Разве не нужно формально вызвать конструктор по умолчанию?
Чем в таком разе объявление отличается от определения?
Не настаиваю, просто не пробовал так
0
2 / 2 / 1
Регистрация: 26.10.2010
Сообщений: 67
13.02.2012, 23:03  [ТС]
Думаю не столь это важно, препод ничего не скажет) Я щяс вставил пример из другого вариант, и всё норм, и ответы совпадают. Проблема записи примера.

Добавлено через 7 минут
Исправил)

Воть рабочий код:

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
#include <iostream.h>
#include <math.h>
 
class my
{
float b;
int i;
public:
void f1 (double x, double y, double z)
{ 
b = fabs ( pow(x,y/x) - pow((y/x),1.0/3.0) ) + (y-x) * ( (cos(y)-(z/(y-x)) )/(1 + pow(y-x, 2)));
}
void f2(void)
{
cout<<"b="<<b<<endl;
}
}
 
main()
{
double x = 1.825*pow(10,2);
double y = 18.225;
double z = -3.298*pow(10,-2);
my fun1;
fun1.f1(x,y,z);
fun1.f2();
cout<<endl;
}
И ответы совпадают. Правда по условию ответ - 1.2131 (округлённый), а у меня не округлённый - 1.21308. Ну то лан.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.02.2012, 23:07
Цитата Сообщение от soon Посмотреть сообщение
Не понял
Чисто функциональный класс не требует инстантиализации?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
14.02.2012, 07:56
Цитата Сообщение от IGPIGP Посмотреть сообщение
my fun1=new my();
Если я вас правильно понял, то:
Это С++. Не С#, не Java. Здесь переменные классов - не ссылочные типы, а типы значений. Они выделяются на стеке и уничтожаются по выходе из своей области видимости. Поэтому строка
C++
1
my fun1 = new my();
будет содержать синтаксическую ошибку, поскольку оператор new возвращает указатель типа my на выделенную область памяти, а в классе нет implicit конструктора, принимающего такой указатель.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
14.02.2012, 15:09
Цитата Сообщение от silent_1991 Посмотреть сообщение
в классе нет implicit конструктора, принимающего такой указатель
Чистый С++ - пока лес для меня. Я думал, что если пользовательский конструктор не определен, то предоставляется по умолчанию и, в этом случае, в частности, не принимает, а возвращает указатель оператору new коим и вызывается... Членами my являются методы, тоже, вроде ссылочные переменные похожие на массивы но Rvalue в отличие от них... Другое дело, что под них не нужно выделять дополнительную память при создании нового объекта.
Констатирую, что у меня в голове - каша. Нужно читать.
Спасибо
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
14.02.2012, 23:38
Цитата Сообщение от IGPIGP Посмотреть сообщение
если пользовательский конструктор не определен, то предоставляется по умолчанию
Совершенно верно.

Цитата Сообщение от IGPIGP Посмотреть сообщение
не принимает, а возвращает указатель оператору new коим и вызывается
Нет, он просто-напросто как-то манипулирует с памятью, заботливо выделенной компилятором. Повторяю, оператор new из другой оперы.

Цитата Сообщение от IGPIGP Посмотреть сообщение
Членами my являются методы, тоже, вроде ссылочные переменные похожие на массивы но Rvalue в отличие от них
Эээ... Методы - ссылочные переменные, похожие на массивы?

Цитата Сообщение от IGPIGP Посмотреть сообщение
Нужно читать
Поддерживаю.
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
14.02.2012, 23:56
Цитата Сообщение от silent_1991 Посмотреть сообщение
Методы - ссылочные переменные, похожие на массивы?
Совершенно верно. То есть вызов (обращение) осуществляется по адресу, а подставляется тип возврата, если не void.
Массивы - тоже ссылки (указатели преобразуемые неявно), а возврат - тип значения. Вроде похоже. Хранятся в разных сегментах и отличий хватает конечно...
Понятно, что методы определенные в классе - inline (как пожелание но не гарантия)...
В целом, что я могу о различиях объявления встроенных и пользовательских типов, да ещё в языке с который знаком поверхностно... -Читать, читать, читать
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
15.02.2012, 00:19
Цитата Сообщение от IGPIGP Посмотреть сообщение
То есть вызов (обращение) осуществляется по адресу, а подставляется тип возврата, если не void.
Это не делает методы ссылочными переменными, похожими на массивы. Методы вообще нельзя назвать переменными. Методы - это методы. Массивы - это массивы. Указатели - это указатели.
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
15.02.2012, 00:46
Цитата Сообщение от IGPIGP Посмотреть сообщение
Совершенно верно. То есть вызов (обращение) осуществляется по адресу, а подставляется тип возврата, если не void.
Массивы - тоже ссылки (указатели преобразуемые неявно), а возврат - тип значения. Вроде похоже. Хранятся в разных сегментах и отличий хватает конечно...
Понятно, что методы определенные в классе - inline (как пожелание но не гарантия)...
В целом, что я могу о различиях объявления встроенных и пользовательских типов, да ещё в языке с который знаком поверхностно... -Читать, читать, читать
Это вы про какой язык говорите? C#/Java?
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
15.02.2012, 11:47
Chelioss, в них методы тоже не являются объектами. Рефлексия позволяет получить объект, отражающий определённый метод, но это уже совсем из другой оперы.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2012, 11:47
Помогаю со студенческими работами здесь

С помощью делегата из одного класса вызвать private метод с другого класса
доброго времени суток. такой вопрос. С применением делегатов и пониманием проблем нет когда происходит простой вызов из Main() функции. Но...

Решить пример с помощью функций
Решить пример с помощью функций F=\frac{\sum_{i=1}^{8}x_i+\prod_{i=1}^{8}y_i}{\sum_{i=1}^{8}c_i+\prod_{i=1}^{8}z_i}

Решить пример с помощью стандартных функций
всем привет. помогите пожалуйста решить пример в экселе (x-2)(x-4)(x-6)...(x-n) где x вводится с клавиатуры, n-положительное число. ...

Нужен пример, решенный с помощью метода трапеций
У кого-нибудь есть любой пример решенный именно с помощью этого метода? Мне чисто глянуть, как правильно оно должно выглядеть, а то, что-то...

Распарсить FB2 с помощью XML: нужен пример
Всем форумчанам привет. Такое дело - надо распарсить FB2 с помощью XML. Не до конца понимаю что это и зачем надо. Т.е принцип вроде как...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru