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

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

Войти
Регистрация
Восстановить пароль
 
Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
#1

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

26.12.2010, 00:04. Просмотров 532. Ответов 7
Метки нет (Все метки)

Доброго времени суток!!

Задание:
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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 00:04     Создание нового класса
Посмотрите здесь:

Создание нового класса - C++
Доброго времени суток!! Задание: 1. Определить пользовательский класс &quot;компьютер&quot;. 2. Определить в классе следующие конструкторы:...

Создание нового экземпляра дочернего класса из экземпляра базового - C++
Всем привет! Извиняюсь, если вопрос глупый, но что-то не смог найти конкретный ответ на него... У меня есть несколько классов: все они...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Реализовать определение нового класса в отдельном файле (библиотека пользователя) - C++
1. Реализовать определение нового класса в отдельном файле (библиотека пользователя). 2. Обязательно должны быть реализованы следующие...

Присвоение указателю члену класса нового адреса, ошибка компиляции - C++
Идея в том, чтобы хранить в отдельном списке объекты типа B и передавать в объект типа A указатель на объект B из списка. Допустим есть...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 00:23     Создание нового класса #2
все нормально.
Anastasiya_1692
1 / 1 / 1
Регистрация: 30.12.2009
Сообщений: 53
26.12.2010, 00:31  [ТС]     Создание нового класса #3
Но не работает!
sandye51
программист С++
682 / 584 / 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
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
26.12.2010, 12:59     Создание нового класса #6
Компилятор С++ может не принимать ваши заголовки.
C++
1
2
3
4
#include <conio.h>
#include <iostream>
#include <сstdio>
#include <сstring>
Не дублируйте темы.
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++
Вот тут выдаёт ошибку. DWORD thID; CreateThread(NULL,NULL,SexToClient, &amp;client_socket,NULL,&amp;thID); } ...

Создание нового файла - C++
Здравствуйте! Подскажите как создать фаил в программе?

Создание нового проекта - C++
Здравствуйте. Установил MVS 2012, начал создавать проект - Консольное приложение win 32....когда в последнем окошке ставлю галочку &quot;Пустой...


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

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

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