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

Создание нового класса - C++

Восстановить пароль Регистрация
 
Anastasiya_1692
 Аватар для Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
26.12.2010, 00:04     Создание нового класса #1
Доброго времени суток!!

Задание:
1. Определить пользовательский класс "компьютер".
2. Определить в классе следующие конструкторы: без параметров, с параметрами, копирования.
3. Определить в классе деструктор.
4. Определить в классе компоненты-функции для просмотра и установки полей данных.
7. Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал).

Получается не очень....
Посмотрите пожалуйста что не так, если не трудно объясните ошибки.

P.S. Пожалуйста, не усложняйте слишком код, я только начинаю изучение (была только 1-я лекция )


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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
class compyter{
 
public:
compyter();
compyter(char*,float,int);
compyter(compyter &c);
void print_compyter();
~compyter();
 
private:
char *name;
float chastota;
int pamajt;
};
 
compyter::compyter()
{
   pamajt=256;
   chastota=2000;
   name=new char[20];
   strcpy(name,"Komp");
   printf("constructor has called without parametrs\n");
}
 
compyter::compyter(char* p,float ch,int m)
{
   pamajt=m;
   chastota=ch;
   name=new char[strlen(p)+1];
   strcpy(name,p);
      printf("constructor has called with parametrs\n");
}
 
compyter::compyter(compyter &c)
{
   pamajt=c.pamajt;
   chastota=c.chastota;
   name=new char[strlen(c.name)+1];
   strcpy(name,c.name);
      printf("Object has made with CopyConstructor\n");
}
 
void compyter::print_compyter(void){
   printf("Name = %s\n",name);
   printf("Chastota = %lf\n",chastota);
   printf("Pamajt = %d\n",pamajt);
}
compyter::~compyter()
{
delete [] name;
}
 
int main(int argc, char* argv[])
{       compyter k1;
        compyter k2(k1);
 
        k1.print_compyter();
        k2.print_compyter();
        getch();
        return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 00:23     Создание нового класса #2
все нормально.
Anastasiya_1692
 Аватар для Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
26.12.2010, 00:31  [ТС]     Создание нового класса #3
Но не работает!
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 12:07     Создание нового класса #4
че не работает?
я запустил - все работает
abyr
4 / 4 / 1
Регистрация: 23.12.2010
Сообщений: 27
26.12.2010, 12:30     Создание нового класса #5
А у вас какая ось? У меня вот линь и не работает, т.к. на лине нет конио.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
26.12.2010, 12:59     Создание нового класса #6
Компилятор С++ может не принимать ваши заголовки.
C++
1
2
3
4
#include <conio.h>
#include <iostream>
#include <сstdio>
#include <сstring>
Не дублируйте темы.
alexs_0008
 Аватар для alexs_0008
2 / 2 / 0
Регистрация: 18.12.2010
Сообщений: 5
26.12.2010, 13:37     Создание нового класса #7
Если программу компилируешь в среде Builder C++ 6.0 то создай консольное приложение

Во время создания среда разработки предложит подключить библиотеку VCL , поставь галочку

В твоем файле должно быть

#include <vcl.h>
#pragma hdrstop

Дальше весь твой код программы

Только что проверил в Builder 6.0 Всё отлично работает в Win XP

Добавлено через 18 минут
Заработало ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 14:03     Создание нового класса
Еще ссылки по теме:

C++ Создание нового экземпляра дочернего класса из экземпляра базового
Создание нового проекта C++ C++
C++ Реализовать определение нового класса в отдельном файле (библиотека пользователя)

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

Или воспользуйтесь поиском по форуму:
Anastasiya_1692
 Аватар для Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
26.12.2010, 14:03  [ТС]     Создание нового класса #8
Да спасибо!!!
Yandex
Объявления
26.12.2010, 14:03     Создание нового класса
Ответ Создать тему
Опции темы

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