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

error LNK2005 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавить столбик после столбика, содержащий наибольший элемент http://www.cyberforum.ru/cpp-beginners/thread804837.html
нужно добавить столбик после столбика, содержащий наибольший элемент. Не могу разобраться. Все нужно делать с динамическим массивом. Помогите, плиз.
C++ Классы. Вывести значение числа цифр в дробной части числа #include "stdafx.h" #include <locale.h> #include <conio.h> #include <iostream> using namespace std; class Chislo { double x; http://www.cyberforum.ru/cpp-beginners/thread804816.html
C++ Составление програмы на использование двумерных массивов
ЗАРАНЕЕ СПАСИБО. Написать программу, которая запрашивает размерность квадратного двумерного массива, заполняет массив случайными числами от 5 до 9 и вычисляет сумму элементов побочной диагонали.
C++ Задача на формирование списков
Всем привет! Помогите исправить ошибку. Условие программы: "Сформировать списки L1 и L2 из списка L по следующему правилу: в L1 четные положительные элементы списка L, в L2 - нечетные...
C++ Из массива строк выделить подстроки состоящие из русских букв, затем найти среди них самую котороткую http://www.cyberforum.ru/cpp-beginners/thread804805.html
Продолжение задания: В строке, содержащей самую коротку подстроку(из условия) - русские буквы в конце. Помогите пожалуйста дописать эту прогу. #include <stdio.h> #include <ctype.h> #include...
C++ Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального элемента не включая их. подробнее

Показать сообщение отдельно
mazukta26
1 / 1 / 0
Регистрация: 25.02.2013
Сообщений: 36

error LNK2005 - C++

10.03.2013, 18:16. Просмотров 813. Ответов 7
Метки (Все метки)

Ребят, выскакивает такая ошибка:
1>test.obj : error LNK2005: "char * * tip" (?tip@@3PAPADA) already defined in real.obj
1>real.obj : error LNK2001: unresolved external symbol "protected: static int Tree::ID_Repository" (?ID_Repository@Tree@@1HA)

не понимаю, что не нравится линковщику)
head.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef _TREEE_
#define _TREEE_
#include <iostream>
#include <cmath>
using namespace std;
enum Type {list, hvoy};
char *tip[2]={"лиственное","хвойное"};
class Tree{
protected:
    const int ID;
    char * Name;
    unsigned Age;
    const Type Tip;
    static int ID_Repository;
    static public void SetID_Repository (int a) {ID_Repository=a;}
public:
    Tree();
    Tree(char * aName, unsigned aAge, Type aTip);
    Tree (const Tree& Ob);
    virtual ~Tree();
    int GetID() const ;
    char * GetName () const;
    unsigned GetAge () const;
    Type GetTip ()const;
    bool operator < (const Tree & e) const;
    bool operator == (const Tree & e) const;
    void SetAge (unsigned aAge);
    void SetName (const char * aName);
    //virtual void InStream (ostream& out)=0;
    void Print ();
    void operator = (const Tree & e);
};
class LesTree: public Tree {
protected:
    double Drev;
public:
    LesTree();
    LesTree(char * aName, unsigned aAge, Type aTip, double aDrev);
    LesTree (const LesTree& Ob);
    ~LesTree();
    int GetID() const;
    char * GetName () const;
    unsigned GetAge () const;
    double GetDrev () const;
    Type GetTip ()const;
    bool operator < (const Tree & e) const;
    bool operator == (const Tree & e) const;
    void SetAge (unsigned aAge);
    void SetName (const char * aName);
    void SetDrev (double aDrev);
    void InStream (ostream& out);
    void operator = (const Tree & e);
};
class PlodTree : public Tree{
    protected:
    double Mass;
    double Hran;
public:
    PlodTree();
    PlodTree(char * aName, unsigned aAge, Type aTip, double Mas, double Hran);
    PlodTree (const PlodTree& Ob);
    ~PlodTree();
    int GetID() const;
    char * GetName () const;
    unsigned GetAge () const;
    double Mas () const;
    double GetHran () const;
    Type GetTip ()const;
    bool operator < (const Tree & e) const;
    bool operator == (const Tree & e) const;
    void SetAge (unsigned aAge);
    void SetName (const char * aName);
    void SetMas (double aMas);
    void SetHran (double aHran);
    void InStream (ostream& out);
    void operator = (const Tree & e);
};
#endif
real.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "head.h"
Tree::Tree():ID(ID_Repository++),Age(100),Tip(list){
    char * s = "Дуб";
    Name=new char[strlen(s)+1];
    strcpy(Name,s);
    //delete s;
}
Tree::Tree(char * aName, unsigned aAge, Type aTip):ID(ID_Repository++),Age(aAge),Tip(aTip){
    Name=new char[strlen(aName)+1];
    strcpy(Name,aName);
}
Tree::Tree (const Tree& Ob):Age(Ob.Age),Tip(Ob.Tip),ID(ID_Repository++){
    Name=new char [strlen(Ob.Name)+1];
    strcpy(Name,Ob.Name);
}
Tree::~Tree(){
    delete []Name;
}
int Tree::GetID() const {
    return ID;
}
char * Tree::GetName () const{
    char * s=new char[strlen(Name)+1];
    strcpy (s,Name);
    return s;
}
unsigned Tree::GetAge () const{
    return Age;
}
Type Tree::GetTip ()const{
    return Tip;
}
bool Tree::operator < (const Tree & e) const{
    if (strcmp(Name,e.Name)<0)
        return true;
    return false;
}
bool Tree::operator == (const Tree & e) const{
    if (strcmp(Name,e.Name)==0)
        return true;
    return false;
}
void Tree::SetAge (unsigned aAge){
    Age=aAge;
}
void Tree::SetName (const char * aName){
    delete []Name;
    Name=new char[strlen(aName)+1];
    strcpy(Name,aName);
}
void Tree::operator = (const Tree & e){
    Age=e.Age;
    //Tip=e.Tip;
    delete []Name;
    Name=new char [strlen(e.Name)+1];
    strcpy(Name,e.Name);
}
void Tree::Print (){
    cout<<"Возраст: "<<Age<<"Тип: "<<Tip<<"Имя: ";
    puts(Name);
}
test.h
C++
1
2
3
4
5
6
7
#include "head.h"
int main ()
{
    Tree a("Ясень", 20,list);
    a.Print();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru