0 / 0 / 3
Регистрация: 19.12.2012
Сообщений: 93
1

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri

01.11.2013, 21:40. Показов 2808. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Братаны, выручайте!
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти.

* Конструктор для их создания (операция new) и установки их начальных значений: Х();

* деструктор: ~Х();

* friend – функция печати: friend void print();

* функция, решающая поставленную задачу: friend Void Run().

Код методов и функций – вне пространства определения класса.

*При
Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2013, 21:40
Ответы с готовыми решениями:

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin
Братаны, выручайте!:help: Общая постановка. Пользовательский класс Х должен содержать необходимые...

Классы. Программирование линейных алгоритмов с использованием конструктора, деструктора,
Классы. Программирование линейных алгоритмов с использованием конструктора, деструктора, friend -...

Вызов конструктора и деструктора с использованием пула
У меня есть некоторая область памяти (указатель на её начало и размер в байтах), часть которой...

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

7
20 / 20 / 15
Регистрация: 22.01.2013
Сообщений: 76
02.11.2013, 15:04 2
X.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef X_h
#define X_h
 
#define _USE_MATH_DEFINES
 
#include <cmath>
 
class X{
private:
    float *x;
    float *y;
    float *z;
    float *c;
public:
    X();
    ~X();
    friend void print(const X &obj);
    friend void run(const X &obj);
};
 
#endif X_h
X.cpp
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 "X.h"
#include <iostream>
 
using std::cout;
using std::endl;
 
X::X(){
    x = new float(3.251);
    y = new float(0.325);
    z = new float(0.466 * pow(10, -4));
    c = new float(0);
}
 
X::~X(){
    delete x;
    delete y;
    delete z;
    delete c;
}
 
void print(const X &obj){
    cout<<"C="<<*obj.c<<endl;
}
 
void run(const X &obj){
    float temp1;
    float temp2;
 
    temp1 = *obj.y * (atan(*obj.z) - M_PI / 6.0);
    temp2 = abs(*obj.x) + 1.0 / (pow(*obj.y, 2.0) + 1.0);
    *obj.c = pow(2.0, pow(*obj.y, *obj.x)) + pow(3.0, *obj.x * *obj.y) - temp1 / temp2;
}
main.cpp
C++
1
2
3
4
5
6
7
8
#include "X.h"
 
int main(){
    X o;
    run(o);
    print(o);
    return 0;
}
1
0 / 0 / 3
Регистрация: 19.12.2012
Сообщений: 93
03.11.2013, 19:16  [ТС] 3
Огромадное спасибо Тебе!!!!!!!!!
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.11.2013, 19:40 4
Цитата Сообщение от TSed Посмотреть сообщение
#endif X_h
Идентификатор тут не нужен.
Цитата Сообщение от TSed Посмотреть сообщение
#include <cmath>
следует включать там, где он действительно нужен. В X.h он не нужен.
По заданию: не понятно зачем делать поля в куче, если можно весь объект разместить через new.
С friend-функциями тоже не лучший вариант. Видимо у того, кто ставил задачу, немного рвет крышу.
1
20 / 20 / 15
Регистрация: 22.01.2013
Сообщений: 76
03.11.2013, 19:55 5
Цитата Сообщение от Tulosba Посмотреть сообщение
следует включать там, где он действительно нужен. В X.h он не нужен.
в нескольких книгах встречал такое, что заголовки объявляются в h файле
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.11.2013, 20:29 6
TSed, может Вы меня не правильно поняли.
Я говорю, что
C++
1
2
#define _USE_MATH_DEFINES
 #include <cmath>
следует переместить из X.h в X.cpp, т.к. в X.h ничего из cmath не требуется.
2
20 / 20 / 15
Регистрация: 22.01.2013
Сообщений: 76
03.11.2013, 20:34 7
Цитата Сообщение от Tulosba Посмотреть сообщение
может Вы меня не правильно поняли.
я Вас понял, просто говорю что видел такое написание (включение всех заголовков которые будут использоваться в программе в h файл, а не cpp файл) в некоторых книгах по с++, поэтому так и написал. В любом случае спасибо за совет, буду исправляться.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.11.2013, 20:41 8
TSed, ну, тем не менее, <iostream> у Вас почему-то в cpp
1
03.11.2013, 20:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2013, 20:41
Помогаю со студенческими работами здесь

Программирование циклических алгоритмов: табулирование функции y=x^2
Вычислить значения y=x^2 на отрезке 0&lt;=x&lt;=1 с шагом х=0,1. Оформить вывод значений функции в виде...

Программирование линейных алгоритмов. Вычислить значение функции у
Задано вещественное значение аргумента х. Вычислить значение функции у: y = cos^2x + 5

Выполнить перегрузку конструктора и операции вывода результатов на экран
Здравствуйте, помогите пожалуйста с заданием! Программу сделал, а как выполнить перегрузку не...

Логирование результатов выполнения функции с использованием декоратора
Доброго всем вечера! Есть функция, которая что-то там вычисляет. Мне бы хотелось логировать...

Программирование алгоритмов циклической структуры. Разработать алгоритм табулирования функции
Изучить возможности языка для реализации: вычислительных процессов циклической структуры с...

Передача объектов функции. Два обращения к функции деструктора
В книге этот код должен 2 раза обращаться к функции деструктора, то есть результатом программы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru