2016-01-09 3 views
2
// Example program 
#include <iostream> 
#include <string> 

using namespace std; 

class table 
{ 
    int size; 
    int priority; 

    public: 
    table(int s=0, int p=0):size(s),priority(p){} 
    virtual void print(); 
}; 

class stud_table: public table 
{ 
    char *name; 
    int gr; 

    public: 
     void print(){ cout <<"students table"<<endl; } 
     ~stud_table(){ delete []name; } 
}; 

class asp_table: public table 
{ 
    char *thesis; 
}; 


int main() 
{ 
    table t; 
    stud_table st; 
    table *tp=&st; 

    tp = new asp_table(); 
    stud_table *stp = &st; 

    cout << "Program" << endl; 
    return 0; 
} 

/* Почему я получаю сообщение об ошибке ссылки: Ошибки 2 Ошибки LNK1120: 1 неразрешенных внешнихC++ классов ссылаются ошибки с

Ошибки 1 Ошибка LNK2001: неразрешенный внешний символ «общественность: виртуальная пустота таблицы __thiscall :: печать (аннулируется)»(? печать @ таблица @@ UAEXXZ) сообщение

*/

+0

@ πάνταῥεῖ Я не думаю, что это простой дублированный вопрос. Кажется, что ошибка в том, что используется op, [clang] (http://rextester.com/RDFD88926) работает хорошо. – songyuanyao

ответ

0

ошибки достаточно ясен: функция члена print в классе table объявлен, но не определенно.

+0

Кажется, [clang] (http://rextester.com/RDFD88926) не жалуются на это. – songyuanyao

+0

@songyuanyao Кажется, что реализация определена. –

Смежные вопросы