Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2012, 20:27   #1
elf01
Пользователь
 
Регистрация: 18.11.2011
Сообщений: 34
По умолчанию класс в классе

Подскажите как тут сделать класс в классе, когда я просто класс Construktor вставляю в класс Pryamougolnyk то выкидывается ошибка.

#include <conio.h>
#include <iostream>
using namespace std;

class Pryamougolnyk
{
public:
void setParameters(int w,int h)
{
width=w;
height=h;
}

int ploshad()
{
return width*height;
}
int perimeter()
{
return 2*(width+height);
}
private:
int width,height;

};

class Constructor
{
public:
Constructor()
{
cout << "Sostavlyaem standartniy konstruktor\n";
pryamougolnyk=new Pryamougolnyk;
pryamougolnyk->setParameters(0,0);
}
Constructor(int a)
{
cout << "Struktura s odnym parametrom\n";
pryamougolnyk=new Pryamougolnyk;
pryamougolnyk->setParameters(a,a);
}
Constructor(int w,int h)
{
cout << "Konstructor s tremya parametrami\n";
pryamougolnyk=new Pryamougolnyk;
pryamougolnyk->setParameters(w,h);
}
~Constructor(){}
void setPos(int _x,int _y)
{
x=_x;
y=_y;
}

int pos()
{
return x*y;
}
int ploshad()
{
return pryamougolnyk->ploshad();
}
int perimeter()
{
return pryamougolnyk->perimeter();
}
private:
int x,y;
Pryamougolnyk *pryamougolnyk;
};

int main()
{
int n=0;
Constructor *c[3];
char ch;
int i,j;
do
{
cout << "Vyberete tip konstructora:\n";
cout << "s- standartnyy, y - 1, p - 2(parameters)\n";
cin >> ch;
if(ch=='s')
{
c[n]=new Constructor;
cout << "Ploshad: " << c[n]->ploshad() <<
"\tPerimeter: " << c[n]->perimeter() << endl;
}
else if(ch=='y')
{
cout << "Vvedyte znachenie:";
cin >> i;
c[n]=new Constructor(i);
cout << "Ploshad: " << c[n]->ploshad() <<
"\tPerimeter: " << c[n]->perimeter() << endl;
}
else if(ch=='p')
{
cout << "Vvedite dlinu: ";cin >> i;
cout << "Vvedite vysotu: ";cin >> j;
c[n]=new Constructor(i,j);
cout << "Ploshad: " << c[n]->ploshad() <<
"\tPerimeter: " << c[n]->perimeter() << endl;
}
n++;

}
while(n<3);
getch();
return 0;
}
elf01 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cоздать класс жидкость. определить конструкторы деструкторы и функцию печати. создать публик производный класс. (С++) Динар Габбасов Помощь студентам 0 28.05.2012 18:44
Добавить класс в проект2,похожий на класс из проекта1!оба проекта есть! xeops C# (си шарп) 0 15.05.2012 20:31
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
Как правильно использовать класс в классе milenium Общие вопросы C/C++ 7 07.05.2011 10:55
Класс в классе Alex11223 Общие вопросы C/C++ 2 13.04.2011 23:10