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

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

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

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

26.12.2010, 00:16. Просмотров 1011. Ответов 4
Метки нет (Все метки)

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

Задание:
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;
}
Заранее всем спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 00:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание нового класса (C++):

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

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

Использование объекта одного класса при создании нового класса - C++
Добрый вечер. У меня такая проблема. Есть готовый класс L2 - список, на его основе нужно создать дек. Я поступил так: в приватной части...

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

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

Возможно ли создание объекта шаблонного класса в функции этого класса? - C++
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

4
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
26.12.2010, 04:06 #2
Навскидку мы с компилятором серьезных прям ошибок не обнаружили.
Разве что заголовки в С++ должны выглядеть
C++
1
2
3
#include <iostream>
#include <cstdio>
#include <cstring>
И conio.h лучше не использовать.
0
diffmike
7 / 7 / 0
Регистрация: 19.03.2010
Сообщений: 12
26.12.2010, 12:51 #3
а чего лучше не использовать conio.h?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
26.12.2010, 12:54 #4
Эта библиотека не везде есть.
0
ISergey
Maniac
Эксперт С++
1391 / 902 / 55
Регистрация: 02.01.2009
Сообщений: 2,695
Записей в блоге: 1
26.12.2010, 13:03 #5
конструктор копии должен так выглядеть..
C++
1
compyter(const compyter &c);
0
26.12.2010, 13:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 13:03
Привет! Вот еще темы с ответами:

Создание указателя типа базового класса на экземпляр производного класса - C++
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса - наследника, для чего это может применяться?

Создание класса-списка на основе кода со списком без класса - C++
Здравствуйте. Не могли бы вы показать, как оформить этот код в виде класса. Смысл задания: это засунуть в список большое число(здесь я...

Явное создание экземпляра класса и явная специализация шаблона класса - C++
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

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


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

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

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