Четверг, 28 Ноября 2024, 00:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Классы. Как с ними работать?
SaiteiДата: Понедельник, 31 Декабря 2012, 19:56 | Сообщение # 1
старожил
Сейчас нет на сайте
Код
#include <iostream>
#include <Windows.h>
using namespace std;

class line_ur{
     public:
     int a, b;
     void ent(){
     cout<<"ax^2=b;"<<'\n';
     cout<<"Пожалуйста, введите значения для a и b"<<'\n';
     cout<<"a:";
     cin>>a;
     cout<<"b:";
     cin>>b;
     }
};

int main(){
setlocale( LC_ALL,"" );
cout<<"Здравствуйте! Пожалуйста, выберите действие из меню:"<<'\n';
cout<<"(1)Линейные уравнения"<<'\n';
cout<<"(2)Квадратные уравнения"<<'\n';
cout<<"(3)Выход"<<'\n';
int choice;
cin>>choice;
if(choice==3){

}
if(choice==2){

}
if(choice==1){
system("cls");
line_ur* a = new line_ur();
a.ent();
}
return 0;
}

ничегошеньки не получается... и не пойму почему
goldsphereДата: Понедельник, 31 Декабря 2012, 20:24 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Цитата (Saitei)
a.ent();

Ты используешь указатель, следовательно вместо оператора . должен быть оператор ->
a->ent();


FinderX - Android Аркада
TikaraДата: Понедельник, 31 Декабря 2012, 20:25 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата (Saitei)
line_ur* a = new line_ur();
a.ent();


Доступ к данным/методам обьекта через указатель:

Код
a->ent();


Остальное норм вроде..
goldsphereДата: Понедельник, 31 Декабря 2012, 20:25 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Цитата (Saitei)
class line_ur{
public:
int a, b;
void ent(){
cout<<"ax^2=b;"<<'\n';
cout<<"Пожалуйста, введите значения для a и b"<<'\n';
cout<<"a:";
cin>>a;
cout<<"b:";
cin>>b;
}
};

Нет никакого смысла объявлять a и b public членами
Код
class line_ur{
int a, b;
public:
void ent(){
cout<<"ax^2=b;"<<'\n';
cout<<"Пожалуйста, введите значения для a и b"<<'\n';
cout<<"a:";
cin>>a;
cout<<"b:";
cin>>b;
}
};


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Понедельник, 31 Декабря 2012, 20:26
SaiteiДата: Понедельник, 31 Декабря 2012, 22:42 | Сообщение # 5
старожил
Сейчас нет на сайте
Tikara, goldsphere, спасибо большое! А если я напишу delete a; , то объект a вместе с его переменными удалится? Я правильно понимаю? Просто учитель заставил писать программу, используя классы (а я в них ещё не сильно вник..)

Сообщение отредактировал Saitei - Понедельник, 31 Декабря 2012, 22:48
RUNGOGET2THECHOPAHДата: Понедельник, 31 Декабря 2012, 23:38 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата (Saitei)
А если я напишу delete a; , то объект a вместе с его переменными удалится?

Да, в данном конкретном случае вся память, выделенная под объект, освободится.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг