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

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

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

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

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

Создание нового проекта в Visual Studio C++
C++ Создание нового класса
Присвоение указателю члену класса нового адреса, ошибка компиляции C++
Создание нового элемента форма Windows forms C++
C++ Создание нового файла
C++ Создание нового проекта
C++ Создание нового типа MPI
Создание нового проекта C++ C++
C++ Реализовать определение нового класса в отдельном файле (библиотека пользователя)
C++ Создание нового потока
Объединение определенных символов строк и создание из их нового массива? C++
Создание нового массива из двух предыдущих C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
26.12.2010, 04:06     Создание нового класса #2
Навскидку мы с компилятором серьезных прям ошибок не обнаружили.
Разве что заголовки в С++ должны выглядеть
C++
1
2
3
#include <iostream>
#include <cstdio>
#include <cstring>
И conio.h лучше не использовать.
diffmike
7 / 7 / 0
Регистрация: 19.03.2010
Сообщений: 12
26.12.2010, 12:51     Создание нового класса #3
а чего лучше не использовать conio.h?
lemegeton
 Аватар для lemegeton
2915 / 1344 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
26.12.2010, 12:54     Создание нового класса #4
Эта библиотека не везде есть.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
26.12.2010, 13:03     Создание нового класса #5
конструктор копии должен так выглядеть..
C++
1
compyter(const compyter &c);
Yandex
Объявления
26.12.2010, 13:03     Создание нового класса
Ответ Создать тему
Опции темы

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