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

Композиция классов - C++

Восстановить пароль Регистрация
 
Студентсмертный
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 39
25.05.2013, 17:28     Композиция классов #1
прога рабит, композицию помогите сделать
room.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
class ROOM
{
float SR_;
public:
    ROOM(void);
    ROOM(float );
    ~ROOM(void);
 
    
    void set_PLOSHADR(float );
    
 
    float get_PLOSHADR();
    
    void pechat ();
 
};
room.cpp
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
#include "StdAfx.h"
#include "room.h"
ROOM::ROOM(void)
{
}
 
ROOM::ROOM(float SR)
{
    SR_=SR;
}
 
ROOM::~ROOM(void)
{
}
 
void ROOM::set_PLOSHADR(float SR)
{
SR_=SR;
}
 
float ROOM::get_PLOSHADR()
{
    return SR_;
}
 
void ROOM::pechat()
{
    printf("Площадь комнаты: %f\n",SR_);
}
flat.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
#include "room.h"
class FLAT:
    public ROOM
{
    float SK_;
    int FLOOR_;
public:
    FLAT(void);
    FLAT(float ,float , int );
    ~FLAT(void);
 
    void set_PLOSHADK(float );
    void set_ETAZH(int );
 
    float get_PLOSHADK();
    int get_ETAZHK();
};

flat.cpp
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
#include "StdAfx.h"
#include "flat.h"
FLAT::FLAT(void)
{
}
FLAT::FLAT(float SR, float SK, int FLOOR):ROOM(SR)
{
    SK_=SK;
    FLOOR_=FLOOR;
}
FLAT::~FLAT(void)
{
}
 
void FLAT::set_PLOSHADK(float SK)
{
SK_=SK;
}
void FLAT::set_ETAZH(int FLOOR)
{
FLOOR_=FLOOR;
}
 
float FLAT::get_PLOSHADK()
{
return SK_;
}
int FLAT::get_ETAZHK()
{
return FLOOR_;
}

flatcity.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
#include "flat.h"
class FLATCITY:
    public FLAT
{
char* GOROD_;
 
public:
FLATCITY(void);
FLATCITY(float SR, float SK, int FLOOR, char* GOROD_);
~FLATCITY(void);
 
void set_PLACE(char* );
 
char* get_PLACE();
 
void pechat();
};



flatcity.cpp
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
#include "StdAfx.h"
#include "flatcity.h"
#include <stdlib.h> 
#include "string.h"
 
FLATCITY::FLATCITY(void)
{
}
FLATCITY::FLATCITY(float SR, float SK, int FLOOR, char* GOROD):FLAT(SR, SK, FLOOR)
{
GOROD_=(char*)malloc(sizeof(char*)*(strlen(GOROD)+1));
strcpy(GOROD_,GOROD);
}
FLATCITY::~FLATCITY()
{
free(GOROD_);
}
void FLATCITY::set_PLACE(char* GOROD)
{
free(GOROD_);
GOROD_=(char*)malloc(sizeof(char*)*(strlen(GOROD)+1));
strcpy(GOROD_,GOROD);
}
char* FLATCITY::get_PLACE()
{
    return GOROD_;
}
void FLATCITY::pechat()
{
printf("Площадь комнаты: %.2f\n Площадь кухни: %.2f\n Этаж: %d\n Город: %s\n", ROOM::get_PLOSHADR(), FLAT::get_PLOSHADK(), FLAT::get_ETAZHK(), get_PLACE());
}
Программа с использованием данных классов:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "StdAfx.h"
#include <windows.h>
#include "flat.h"
#include "flatcity.h"
#include "room.h"
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
FLATCITY A(25, 20, 5, "Москва");
A.pechat();
A.set_PLOSHADR(40);
A.set_PLACE("Питер");
printf("Площадь комнаты через get метод после её изменения на 40: %.2f\nГород, где эта квартира через get метод после его изменения на Питер: %s\n ",A.get_PLOSHADR(), A.get_PLACE());
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 17:28     Композиция классов
Посмотрите здесь:

Композиция двух классов и вложенные классы C++
композиция классов и объектов данных C++
C++ Композиция
C++ Композиция с++
C++ Композиция классов. Не могу разобраться
C++ Иерархия и композиция классов
C++ От структур к классам, композиция классов
Композиция классов и объектов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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