Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Класс.  (Прочитано 5000 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Berserkx
Гость
« : 14-06-2010 19:27 » 

Базовый класс class A {A(), int a=3}, Производный class B {B(), int b=2}.
Смысл таков b=new B();            b.a=?;
По идее, должно выдать ошибку, так как в b нет заначения а. Но оно выдаёт ошибку до того, как дойдёт до нужного момента, я просто не знаю, как присвоить значения.
Код:
#include <iostream.h>
#include <conio.h>
class A
{protected:
           int a=3;
public:A();}
    
class B:public A {
      protected:
      int b=2;
      public:B();
      }          
      A::A();
      B::B();
int A::A() {}    
int main()
B B1;
b=new B1();
int t=b.a;
cout<< t <<endl;
return 0;
}
« Последнее редактирование: 15-06-2010 03:21 от Sel » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 14-06-2010 19:45 » 

Berserkx, Кто так форматрирует код?
Ну первую ошибку, которую я вижу, и на которой должен компилятор ругаться не понятными словами, это не закрытый класс. Класс должен закрываться с точкой с запятой.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dmitry
Помогающий

ru
Offline Offline

« Ответ #2 : 14-06-2010 21:26 » 

Инициализируй преременные в конструкторе. Как ты делаешь - в сях так нельзя.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 15-06-2010 03:01 » 

Код:
class A
{
protected:
int a;
public:
A()
{
a=3;
}
};
   
class B:public A
{
int b;
public:
B()
{
b=2;
a=7;
}
}         

или (без protected, что гораздо лучше)

Код:
class A
{
int a;
public:
A(int a):a(a)
{
}
};
   
class B:public A
{
int b;
public:
B():A(7)
{
b=2;
}
}         
Записан

Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 15-06-2010 03:15 » 

Berserkx, у вас лекции были? методички? может книги какие?
Записан

Странно всё это....
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines