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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 00:27   #1
V@mpire
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 12
По умолчанию конструктор в классе

написала программу создания объектов в классе с помощью конструктора, но есть ошибки в конструкторе, помогите пожалуйста найти и исправить их!

#include<iostream.h>
#include<conio.h>
struct centr
{
float x;
float y;
};

class kryg
{
public:
kryg( centr& X);
void VvodCentra(centr & X);

~kryg();
private:
centr X;
};

void kryg::VvodCentra(centr & X)
{
cout<<"vvesti koordinati centra:\n";
cout<<"x=";
cin>>X.x;
cout<<"y=";
cin>>X.y;
cout<<endl;
}
kryg::kryg( centr X)
{
centr X= centr& X;
}
kryg::~kryg()
{
}
void main()
{
clrscr();
float r;
centr X;
kryg Shar;
Shar.VvodCentra(X);
cout<<"vvesti radiys:\n";
cout<<"r=";
cin>>r;
cout<<endl;
Shar.kryg(X);
cout<<"izmenit koordinati?";
char y,n;
cin>>y;
switch (y)
{
case 'y':
cout<<"x=";
cin>>X.x;
cout<<"y=";
cin>>X.y;
cout<<endl;
cout<<"r=";
cin>>r;
break;
case 'n':
cout<<X.x<<X.y<<r<<endl;
}
getch();
}
V@mpire вне форума Ответить с цитированием
Старый 01.06.2010, 00:36   #2
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Код:
kryg::kryg( centr X)
{
this->X= X;
}
надеюсь = для class centr переопределили ?
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 01.06.2010, 00:54   #3
V@mpire
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 12
По умолчанию

я изменила, но снова ошибки "kryg не член класса kryg"
V@mpire вне форума Ответить с цитированием
Старый 01.06.2010, 01:47   #4
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

ну у вас в классе конструктор выглядит так: kryg( centr& X); - параметр передается по ссылке
а в реализации так kryg::kryg( centr X) - параметр передается по значению.
Может, в этом причина?

Боже, в чем вы пишете? У меня выдает как минимум 6 ошибок.
centr X= centr& X; - эта конструкция для меня не понятна. У вас в классе есть уже переменная типа centr, зачем ее объявлять снова? А что вы ей присваиваете?
И к чему тут радиус, если он не является свойством класса kryg?
В общем, у вас тут ошибка не только с конструктором. Тут ошибка на ошибке. Но в такое время у меня уже нет сил что-либо исправлять. Может, завтра на свежую голову, если не найдется более желающих
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать

Последний раз редактировалось ACE Valery; 01.06.2010 в 13:52.
ACE Valery вне форума Ответить с цитированием
Старый 01.06.2010, 01:56   #5
V@mpire
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 12
По умолчанию

вопрос с оператором switch. я сделала так,что при нажатии "у" меняются заново координаты, а вот при нажатии "n" должно выводить старые координаты, но не выводит, в чем ошибка???
V@mpire вне форума Ответить с цитированием
Старый 01.06.2010, 02:04   #6
V@mpire
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 12
По умолчанию

спасибо за помощь, уже сама разобралась!
V@mpire вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление в классе! Telec Помощь студентам 1 30.04.2010 18:43
Непонятное двочиточие в классе. С++ ahab Помощь студентам 2 25.01.2010 21:00
константность в классе softrix Общие вопросы C/C++ 1 17.06.2008 00:21
Экзамен в 9 классе по ИВТ NecRoMat Свободное общение 6 11.06.2008 11:56