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

undefined reference to `vtable for - C++

Восстановить пароль Регистрация
 
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
11.05.2013, 13:32     undefined reference to `vtable for #1
Вылетает эта ошибка при компиляции вот этого класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class BrassPlus : public AcctABC
{
private:
    double maxLoan;
    double rate;
    double owesBank;
public:
    BrassPlus(const char *s = "Nullbody", long an = -1,
              double bal = 0.0, double ml = 500,
              double r = 0.10);
    BrassPlus(const Brass &ba, double ml = 500, double r = 0.1);
    virtual void ViewAcct() const;
    virtual void Withdraw(double amt);
    void ResetMax(double m) {maxLoan = m;};
    void ResetRate(double r) {rate = r;};
    void ResetOwes() {owesBank = 0;};
};
Базовый класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class AcctABC
{
private:
    enum {MAX = 35};
    char fullName[MAX];
    long acctNum;
    double balance;
protected:
    const char * FullName() const {return fullName;}
    long AcctNum() const {return acctNum;}
public:
    AcctABC(const char *s = "Nullbody", long an = -1, double bal = 0.0);
    void Deposit(double amt);
    virtual void Withdraw(double amt) = 0;
    double Balance() const {return balance;}
    virtual void ViewAcct() const = 0;
    virtual ~AcctABC() {};
};
И сама реализация где вылетает ошибка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
AcctABC::AcctABC(const char *s, long an, double bal)
{
    std::strncpy(fullName, s, MAX - 1);
    fullName[MAX-1] = '\0';
    acctNum = an;
    balance = bal;
}
 
BrassPlus::BrassPlus(const char *s, long an, double bal, double ml, double r) : AcctABC(s,an,bal)
{
    maxLoan = ml;
    owesBank = 0.0;
    rate = r;
}
Причем указывает именно на 10 строчку.
P.S. Извиняюсь за тонну кода.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 13:32     undefined reference to `vtable for
Посмотрите здесь:

C++ [linker error] undefined reference to 'vtable for Car'
C++ undefined reference...
C++ undefined reference
C++ undefined reference
C++ undefined reference to `A::a'
Undefined reference to C++
C++ Ошибка компиляции единого файла: undefined reference to `vtable for .'
C++ Undefined reference to

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
11.05.2013, 14:01     undefined reference to `vtable for #2
Вы должны реализовать те виртуальные методы, которые в базовом классе являются абстрактными, т.е. Withdraw и ViewAcct
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
11.05.2013, 14:12  [ТС]     undefined reference to `vtable for #3
Цитата Сообщение от anmartex Посмотреть сообщение
Вы должны реализовать те виртуальные методы, которые в базовом классе являются абстрактными, т.е. Withdraw и ViewAcct
Блин, точно. Даже стыдно немножко.
Yandex
Объявления
11.05.2013, 14:12     undefined reference to `vtable for
Ответ Создать тему
Опции темы

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