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

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

Войти
Регистрация
Восстановить пароль
 
gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
#1

Работа с классами - C++

21.09.2009, 17:01. Просмотров 724. Ответов 8
Метки нет (Все метки)

Привет всем!!!!!
Пацаны помогите написать программу плиз, на завтро нужно!!!!!
Тема: Классы
Задание:Описати інтерфейс та реалізувати клас який містить наступні види конструкторів:
1) Конструктор за замовчуванням без параметрів;
2) Конструктор зі спеціальною інціалізацією з параметром типу int i float;
3) Конструктор зі спеціальною інціалізацією з параметром на char;
Кожен конструктор має містити повідомлення "Працює конструктор ім'я конструктора"
4) Створити динамічні та статичні об'єкти для демонстрації роботи всіх конструкторів.

Перевод:
Задание:Описать интерфейс и реализовать класс, который содержит следующие виды конструкторов:
1) Конструктор по умалчиванию без параметров;
2) Конструктор со специальной инциализациею с параметром типа int и float;
3) Конструктор со специальной инциализациею с параметром на char; Каждый конструктор должен содержать сообщение "Работает конструктор имя конструктора"
4) Создать динамические и статические объекти для демонстрации работы всех конструкторов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2009, 17:01     Работа с классами
Посмотрите здесь:

работа с классами C++
Работа с классами C++
C++ Работа с классами.
C++ Работа с классами
работа с классами C++
C++ Работа с классами
Работа С Классами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1922 / 1531 / 139
Регистрация: 31.05.2009
Сообщений: 2,894
21.09.2009, 17:58     Работа с классами #2
Покажи, что уже сделал. Что не получается?
gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
21.09.2009, 18:26  [ТС]     Работа с классами #3
Привет всем!!!!!
Пацаны помогите написать программу плиз, на завтро нужно!!!!!
Тема: Классы
Задание:Описать интерфейс и реализовать класс, который содержит следующие виды конструкторов:
1) Конструктор по умалчиванию без параметров;
2) Конструктор со специальной инциализациею с параметром типа int и float;
3) Конструктор со специальной инциализациею с параметром на char; Каждый конструктор должен содержать сообщение "Работает конструктор имя конструктора"
4) Создать динамические и статические объекти для демонстрации работы всех конструкторов.

Добавлено через 1 минуту
Цитата Сообщение от gorin Посмотреть сообщение
Привет всем!!!!!
Пацаны помогите написать программу плиз, на завтро нужно!!!!!
Тема: Классы
Задание:Описать интерфейс и реализовать класс, который содержит следующие виды конструкторов:
1) Конструктор по умалчиванию без параметров;
2) Конструктор со специальной инциализациею с параметром типа int и float;
3) Конструктор со специальной инциализациею с параметром на char; Каждый конструктор должен содержать сообщение "Работает конструктор имя конструктора"
4) Создать динамические и статические объекти для демонстрации работы всех конструкторов.
Код, помогите что в етом коде по заданию не хватает??
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
enum color{red,green,blue};
class vikno{
private:
int hirina,visota;
float tovhina;
color skin;
char *name;
public:
vikno(int h=100,int v=150,float t=5);
vikno(color sk);
vikno(char *nam);
int get_hirina(){return hirina;}
int get_visota();
float get_tovhina();};
int vikno::get_visota(){return visota;}
float vikno::get_tovhina(){return tovhina;}
vikno::vikno(int h,int v, float t){cout<<"\nPracue konstruktor Vikno\n";
hirina=h;visota=v;tovhina=t;skin=red;name=0;}
vikno::vikno(color sk){cout<<"\nPracue konstruktor Vikno\n";
switch(sk){
case red: hirina=100;visota=150;skin=red;name=0;break;
case green: hirina=100;visota=170;skin=green;name=0;break;
case blue: hirina=100;visota=190;skin=blue;name=0;break;}}
vikno::vikno(char *nam){
name=new char [strlen(nam)+1];
strcpy(name,nam);
hirina=100;visota=200;skin=red;}
cout<<"\nStvoruetcy ob'ekt Standart";
vikno Standart (100,187);
cout<<"\n hirina="<<Standart.get_hirina();
cout<<"\n visota="<<Standart.get_visota();
cout<<"\n Tov="<<Standart.get_tov();
cout<<"\nStvoruetcy ob'ekt Na_zakaz";
vikno Na_zakaz;
cout<<"\n hirina="<<Na_zakaz.get_hirina();
cout<<"\n visota="<<Na_zakaz.get_visota();
cout<<"\n Tov="<<Na_zakaz.get_tov();
cout<<"\nStvoruetcy dinamichniy ob'ekt Obchee\n";
vikno Obchee [5];
vikno* B2=new vikno(1);
cout<<"\n hirina="<<B2->get_hirina();
cout<<"\n visota="<<B2->get_visota();
cout<<"\n Tov="<<B2->get_tov();
int n=Na_zakaz.get_hirina();
cout<<"\n n="<<n;
Obchee[0].get_visota();
delete(B2);
vikno *m=new vikno("Niva");
vikno Green(green);
delete(B2);
getch();
return 0;}
Добавлено через 6 минут
Мне нужно вывести skin и name
Не знаю как это зделать

Добавлено через 6 минут
rangerx, А она вабще верная!!!!
rangerx
1922 / 1531 / 139
Регистрация: 31.05.2009
Сообщений: 2,894
21.09.2009, 20:16     Работа с классами #4
Цитата Сообщение от gorin Посмотреть сообщение
rangerx, А она вабще верная!!!!
А ты сам как думаешь, она верная?
Цитата Сообщение от gorin Посмотреть сообщение
с параметром на char
Это в задании так и написано?
gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
21.09.2009, 20:19  [ТС]     Работа с классами #5
Цитата Сообщение от rangerx Посмотреть сообщение
А ты сам как думаешь, она верная?

Это в задании так и написано?
Помоги мне завтра нужно здать!!!
rangerx
1922 / 1531 / 139
Регистрация: 31.05.2009
Сообщений: 2,894
21.09.2009, 23:11     Работа с классами #6
с параметром на char
ладно, будем считать, что тут подразумевался указатель...
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
#include <iostream.h>
#include <string.h>
 
class A
{
    private:
        int i;
        float f;
        char *cp;
    public:
        A() : i(0), f(0.0), cp(0)
        {
            cout << "CONSTRUCTOR A()\n\n";
        }
        A(int iparam, float fparam) : i(iparam), f(fparam), cp(0)
        {
            cout << "CONSTRUCTOR A(int iparam, float fparam)\n";
            cout << "\tprivate int i = " << i << "\n\tprivate float f = " << f << "\n\n";
        }
        A(const char *cpparam) : i(0), f(0.0), cp(new char[strlen(cpparam) + 1])
        {
            strcpy(cp, cpparam);
            cout << "CONSTRUCTOR A(char *cpparam)\n";
            cout << "\tprivate char *cp = \"" << cp << "\"\n\n";
        }
        ~A()
        {
            delete[] cp;
        }
};
 
int main()
{
    cout << "-------------static-------------\n\n";
    A ob1;
    A ob2(100, 20.5);
    A ob3("string1");
    cout << "--------------------------------\n\n";
 
    cout << "\n-------------dynamic------------\n\n";
    A *ob4 = new A;
    A *ob5 = new A(2, 7.4);
    A *ob6 = new A("string2");
    cout << "--------------------------------\n";
 
    delete ob4;
    delete ob5;
    delete ob6;
 
    return 0;
}
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
21.09.2009, 23:31     Работа с классами #7
rangerx и у тебя прога не падала??
Код
      A() : i(0), f(0.0), [COLOR="#ff0000"]cp(0)[/COLOR]{
        }
        A(int iparam, float fparam) : i(iparam), f(fparam), [COLOR="Red"]cp(0)[/COLOR]{
        }
        ~A(){
            //здесь проверку нужно делать cp !=0;
            [COLOR="#ff0000"]delete[] cp;[/COLOR]
        }
rangerx
1922 / 1531 / 139
Регистрация: 31.05.2009
Сообщений: 2,894
22.09.2009, 01:32     Работа с классами #8
rangerx и у тебя прога не падала??
Применение delete к нулевому указателю вполне безопасно, насколько мне известно, и ничего падать здесь не должно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2009, 02:20     Работа с классами
Еще ссылки по теме:

Работа с классами C++
C++ Работа с классами
C++ Работа с классами
C++ Работа с классами
C++ Работа с классами

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

Или воспользуйтесь поиском по форуму:
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
22.09.2009, 02:20     Работа с классами #9
Цитата Сообщение от rangerx Посмотреть сообщение
Применение delete к нулевому указателю вполне безопасно, насколько мне известно, и ничего падать здесь не должно.
Угу точно..
Yandex
Объявления
22.09.2009, 02:20     Работа с классами
Ответ Создать тему
Опции темы

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