Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
p1ggy
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 12
#1

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

01.11.2012, 12:44. Просмотров 1136. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 12:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс, конструктор, деструктор, дружественные функции (C++):

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

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

Добавить в класс конструктор и деструктор - C++
Помогите пожалуйста добавить в класс конструктор и деструктор. Заранее спасибо ) #include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include...

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

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

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

2
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
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
p1ggy
0 / 0 / 0
Регистрация: 19.10.2011
Сообщений: 12
02.11.2012, 01:15  [ТС] #3
Спасибо, все получилось верно! Но все равно остался вопрос: в полной мере ли мой код выполняет поставленную задачу?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 01:15
Привет! Вот еще темы с ответами:

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

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

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

Класс "Матрица": конструктор, деструктор и перегрузка операторов - C++
Матрица – KMatrix Методы: конструкторы, деструктор; операции: , =, ==, !=,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.