20 / 20 / 8
Регистрация: 10.02.2013
Сообщений: 75
1

undefined reference to `vtable for

11.05.2013, 13:32. Показов 4531. Ответов 2
Метки нет (Все метки)

Вылетает эта ошибка при компиляции вот этого класса:
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. Извиняюсь за тонну кода.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2013, 13:32
Ответы с готовыми решениями:

Undefined reference to 'vtable for Touch'
Я не понимаю, что я неправильно делаю Input/InputDevice.hpp #ifndef INPUTDEVICE_HPP #define...

[linker error] undefined reference to 'vtable for Car'
доброго времени вам. помогите, пожалуйста, с задачей разобраться. хочу сделать пример на паттерн...

Ошибка компиляции единого файла: undefined reference to `vtable for .'
Проблема при компиляции файла: prog.cpp:(.text.startup+0x42): undefined reference to `vtable for...

Ошибки underfined reference to parentClass::method и unerfined reference to vtable при линковке
При сборке компилятор выдает ошибки underfined reference to и unerfined reference to vtable. Есть...

2
...
1804 / 1268 / 935
Регистрация: 12.02.2013
Сообщений: 2,063
11.05.2013, 14:01 2
Вы должны реализовать те виртуальные методы, которые в базовом классе являются абстрактными, т.е. Withdraw и ViewAcct
1
20 / 20 / 8
Регистрация: 10.02.2013
Сообщений: 75
11.05.2013, 14:12  [ТС] 3
Цитата Сообщение от anmartex Посмотреть сообщение
Вы должны реализовать те виртуальные методы, которые в базовом классе являются абстрактными, т.е. Withdraw и ViewAcct
Блин, точно. Даже стыдно немножко.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2013, 14:12
Помогаю со студенческими работами здесь

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу "С++ для чайников" Стефан Р. Девис 4-е издание. И...

undefined reference
Доброго времени суток! Есть следующий код: #include <iostream> using namespace std; enum...

undefined reference to
https://www.cyberforum.ru/qt/thread861722.html Не в том разделе создал тему, и поэтому даю линк...

Undefined reference
/tmp/ccQRqGm4.o: In function `PoolAllocator::PoolAllocator(unsigned int, unsigned int)':...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru