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

Класс, конструктор, деструктор, дружественные функции

01.11.2012, 12:44. Показов 3823. Ответов 2
Метки нет (Все метки)

Нужна помощь с ООП. Вот задание:

Общая постановка. Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти.
Конструктор для их создания (операция new) и установки их начальных значений: Х();
деструктор: ~Х();
friend – функция печати: friend void print();
функция, решающая поставленную задачу: friend Void Run().
Код методов и функций – вне пространства определения класса.

1) Подскажите верно ли я интерпретировал данное задание?
2) Вроде бы теорию перечитываю, но не могу понять как заставить одну дружественную функцию видеть вторую. По сути функция run() выполняется верно, однако при вызове print () выводиться длина типа Double. Т.е. ответ где-то теряется... Не могу найти нужную информацию, помогите пожалуйста.
Вот код:

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
38
39
40
41
42
43
44
45
46
#include <iostream>
using namespace std;
#include <math.h>
#include <stdlib.h>
#include <conio.h>
class myClass
{
    private:
    double x,y,z,b;
    public:
    myClass (void)
{
    cout << "Please, input x.." << endl;
    cin >> x;
    cout << "Please, input y.." << endl;
    cin >> y;
    cout << "Please, input z.." << endl;
    cin >> z;
};
 
    friend void print(myClass);
    friend void run(myClass);
 
    ~myClass() {};
};
 
void run(myClass a)
{
    a.b = sqrt(10*(pow(a.x,1*1.0/3)+pow(a.x,a.y+2)))*(pow(asin(a.z),2)-fabs(a.x-a.y));
}
 
void print(myClass a)
{
    cout << "Your rezult: b = " << a.b << endl;
}
 
int main()
{
    myClass *lab3;
    lab3 = new myClass;
    run(*lab3);
    print(*lab3);
    delete lab3;
    getch();
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2012, 12:44
Ответы с готовыми решениями:

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать...

Класс: конструктор и деструктор
Возник вопрос. Если я в классе не делаюни одного данного с выделением динамической памяти, то как...

Класс, конструктор, деструктор и прочее
Добрый день. Есть задание: Написать программу работы с матрицами (матрица представляет собой...

Добавить в класс конструктор и деструктор
Помогите пожалуйста добавить в класс конструктор и деструктор. Заранее спасибо ) #include...

2
В астрале
Эксперт С++
8045 / 4802 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
01.11.2012, 12:51 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
    friend void print(const myClass&);
    friend void run(myClass&);
 
void run(myClass& a)
{
    a.b = sqrt(10*(pow(a.x,1*1.0/3)+pow(a.x,a.y+2)))*(pow(asin(a.z),2)-fabs(a.x-a.y));
}
 
void print(const myClass& a)
{
    cout << "Your rezult: b = " << a.b << endl;
}
1
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 12
02.11.2012, 01:15  [ТС] 3
Спасибо, все получилось верно! Но все равно остался вопрос: в полной мере ли мой код выполняет поставленную задачу?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2012, 01:15
Помогаю со студенческими работами здесь

Добавить в класс хотя бы один конструктор и деструктор
Вот сама программа, заранее спасибо за помощь! #include &lt;iostream&gt; #include &lt;math.h&gt; ...

Преобразование типов. Дружественные функции. Конструктор копирования.
Создать класс вещественных чисел Double. Определить перегруженную функцию, возвращающую...

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

Конструктор, деструктор, friend-функции. Исправить ошибки
Общая постановка. Пользовательский класс Х должен содержать не-обходимые элементы – данные x, y, а...

Разработать класс Airplane (самолет). Определить конструктор и деструктор. Реализовать объявленные методы доступа к данным.
решите пожалуйста вот эту задачу, вроде бы простая.. и если можно объясните, что где что значит. ...

Класс матрица (дружественные функции)
Здравствуйте, поставили задание написать класс матрица, через дружественные операторы сделать...


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

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

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