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

Зачем нужны конструктор и деструктор класса? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Замена символов в Мемо http://www.cyberforum.ru/cpp-beginners/thread52787.html
Надо написать программу которая при вводе в Мемо текста заменяла буквы на другие. А на Ц ,И на Ъ и т.д надо задать все 33 буквы рус алфавита,типа шифрование. Подскажите как осуществить.
C++ Вводится матрица... Вводится матрица А построчно. Выберите из матрицы А подматрицу В, заданной суммой элементов или сообщите, что такой подматрицы не существует. Реализовать ввод\вывод с консоли и из файла. Задачу сделал, но интересны варианты(от простейшего). http://www.cyberforum.ru/cpp-beginners/thread52786.html
Сумма цифр и количество цифр C++
Задача: Вводится два натуральных числа. Нужно написать функции для того, чтобы: (1) найти сумму цифр составляющих это число (545 = 14), и количество цифр в этом числе (5464 = 4), (2) сравнить суммы 1го и 2го числа и вывести ответ, сумма какого числа больше. С 1м условием справился, а вот как сделать 2е, не могу сообразить...подскажите #include <iostream.h> #include <windows.h> char...
Динамические списки C++
Всем привет. Подскажите пожалуста идеи. Дано стек, разработать функцию, которая формирует два новых стеки: первая содержит числа из исходного стека с нечетными номерами, а второе - с четными
C++ Найдите два слова с наилучшей рифмой и еще две задачи. http://www.cyberforum.ru/cpp-beginners/thread52765.html
Дан текст (набор слов). Найдите в нем два слова с наилучшей рифмой. Наилучшей будем считать рифму, когда у пары слов совпадает наибольшее число букв с конца. Формат входных данных Первая строчка входных данных содержит натуральное число n, 2<=n<=10000. Затем идет n различных строк, каждая из которых содержит одно слово (слова могут состоять из латинских и русских букв в кодировке KOI-8,...
C++ Отличие static от объявление переменных ДО функции main Может быть я не совсем точно выразился в заголовке. Интересует отличие объявление переменных ДО функции main и объявление через static. По моим ощущениям если объявлено через static, то переменная существует всегда(даже при выходе из блока где она использовалась). Но ведь если просто объявить переменные до функции main они также будут видны везде. Поясните в чем загвоздка. Заранее спасибо. ... подробнее

Показать сообщение отдельно
YAUHEN
145 / 127 / 6
Регистрация: 29.07.2008
Сообщений: 506
27.09.2009, 01:13     Зачем нужны конструктор и деструктор класса?
вот задание:
Пользовательский класс Х должен содержать необходимые элементы-данные, которые создаются в динамической области памяти. Конструктор для их создания (операция new) и установки их начальных значений: Х (); деструктор: ~ Х (); friend – функция печати: friend void print(); функция, решающая поставленную задачу: friend Void Run(). Код методов и функций– вне пространства определения класса.

вот моя прога:
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 "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include "class.h"
 
class X
{
        double *x,*y,*z,res;
        friend void run();
        friend void print();
public:
    X(double=0, double=0, double=0);
    ~X();
};
 
X :: X(double x1, double y1, double z1)
    {//конструктор
        x=new double;
            x1=*x;
        y=new double;
            y1=*y;
        z=new double;
            z1=*z;
    }
 
void run(){
    res=(pow(y,x+1))/(pow(fabs(y-2),1.0/3)+3)+(x+y/2)/(2*fabs(x+y))*pow(x+1,(-1/sin(z)));
}
 
void print()
{
    std::cout<<"\nResult:"<<res;
}
 
X:: ~X() {};//деструктор
 
void main(void)
{
X(1.23,15.4,252.0);
run();
print();
getch();
}
я какбы толком не могу разобратся как работает конструктор и деструктор, и зачем они нужны, не моглибы на пальцах обьяснить?
и ещё компилятор выдаёт ошибку:
пишет что переменные res x y z undeclared identifier в строке
C++
1
res=(pow(y,x+1))/(pow(fabs(y-2),1.0/3)+3)+(x+y/2)/(2*fabs(x+y))*pow(x+1,(-1/sin(z)));
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru