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

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

Восстановить пароль Регистрация
 
lion-6v
 Аватар для lion-6v
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 93
01.11.2013, 21:40     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #1
Братаны, выручайте!
Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти.

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

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

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

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

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

*При Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 21:40     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Посмотрите здесь:

программирование с использованием функции С++ C++
C++ программирование с использованием функции.С++
C++ Программирование с использованием функции
Программирование задач с использованием функции C++
Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TSed
19 / 19 / 1
Регистрация: 22.01.2013
Сообщений: 76
02.11.2013, 15:04     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #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;
}
lion-6v
 Аватар для lion-6v
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 93
03.11.2013, 19:16  [ТС]     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #3
Огромадное спасибо Тебе!!!!!!!!!
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.11.2013, 19:40     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #4
Цитата Сообщение от TSed Посмотреть сообщение
#endif X_h
Идентификатор тут не нужен.
Цитата Сообщение от TSed Посмотреть сообщение
#include <cmath>
следует включать там, где он действительно нужен. В X.h он не нужен.
По заданию: не понятно зачем делать поля в куче, если можно весь объект разместить через new.
С friend-функциями тоже не лучший вариант. Видимо у того, кто ставил задачу, немного рвет крышу.
TSed
19 / 19 / 1
Регистрация: 22.01.2013
Сообщений: 76
03.11.2013, 19:55     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #5
Цитата Сообщение от Tulosba Посмотреть сообщение
следует включать там, где он действительно нужен. В X.h он не нужен.
в нескольких книгах встречал такое, что заголовки объявляются в h файле
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.11.2013, 20:29     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #6
TSed, может Вы меня не правильно поняли.
Я говорю, что
C++
1
2
#define _USE_MATH_DEFINES
 #include <cmath>
следует переместить из X.h в X.cpp, т.к. в X.h ничего из cmath не требуется.
TSed
19 / 19 / 1
Регистрация: 22.01.2013
Сообщений: 76
03.11.2013, 20:34     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #7
Цитата Сообщение от Tulosba Посмотреть сообщение
может Вы меня не правильно поняли.
я Вас понял, просто говорю что видел такое написание (включение всех заголовков которые будут использоваться в программе в h файл, а не cpp файл) в некоторых книгах по с++, поэтому так и написал. В любом случае спасибо за совет, буду исправляться.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2013, 20:41     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Еще ссылки по теме:

C++ Выполнить перегрузку конструктора и операции вывода результатов на экран
C++ Вызов конструктора и деструктора с использованием пула
Классы. Программирование линейных алгоритмов с использованием конструктора, деструктора, C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.11.2013, 20:41     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri #8
TSed, ну, тем не менее, <iostream> у Вас почему-то в cpp
Yandex
Объявления
03.11.2013, 20:41     Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Ответ Создать тему
Опции темы

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