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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
#1

VS 2005 - подключение заголовочных файлов - C++

25.09.2009, 01:34. Просмотров 924. Ответов 0
Метки нет (Все метки)

начал переходить на VS 2005 столкнулся с проблемой подключения заголовочных файлов
написал прогу, подключил заголовочные файлы, а среда выдает ошибки:
illegal member initialization: 'Base2' is not a base or member
illegal member initialization: 'Base1' is not a base or member
'value' : is not a member of 'Derived'
'letter' : is not a member of 'Derived'


base1.h file

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//BASE1.H
#ifndef BASE1_H
#define BASE1_H
 
class Base1
{
public:
    Base1(int x) {value=x;}
    int getData() const {return value;}
protected:
    int value;
};
 
#endif
base2.h file
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//BASE2.H
#ifndef BASE2_H
#define BASE2_H
 
class Base2
{
public:
    Base2(char c) {letter=c;}
    char getData() const {return letter;}
protected:
    int letter;
};
 
#endif
derived.h file
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//DERIVED.H
#ifndef DERIVED_H
#define DERIVED_H
 
#include "base1.h"
#include "base2.h"
 
class Derived
{
friend ostream &operator<<(ostream &, const Derived &);
public:
    Derived (int, char, float);
    float getReal() const;
private:
    float real;
};
 
#endif
derived.cpp file

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//derived.cpp
#include <iostream>
using namespace std;
#include "derived.h"
 
Derived::Derived(int i, char c, float f):Base1(i),Base2(c)
{
    real=f;
}
 
float Derived::getReal() const
{
    return real;
}
 
ostream &operator<<(ostream &output, const Derived &d)
{
    cout<<"Int: "<<d.value<<endl
        <<"Char: "<<d.letter<<endl
        <<"Float: "<<d.real<<endl;
    return output;
}

main.cpp file
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
#include "stdafx.h"
#include "base1.h"
#include "base2.h"
#include "derived.h"
 
int main()
{
    /*код*/
    return 0;
}
все файлы находятся в корневом каталоге проекта, в VS 6,0 все нормально работает
подскажите, может есть особенности

Добавлено через 35 минут
тему можно закрывать,
пропустил объявление множественного наследования
C++
1
class Derived:public Base1,public Base2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2009, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос VS 2005 - подключение заголовочных файлов (C++):

Подключение заголовочных файлов - C++
Имею два файла Large Factorial.h #include &lt;sstream&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include...

Подключение заголовочных файлов - C++
Здравствуйте. Возникают ошибки при компиляции проекта: 1. Указывает на указатель: 2. Указывает на указатель и коллекцию указателей: ...

Подключение заголовочных файлов - C++
Итересует меня вопрос : нужно ли при компиляции программ оставлять только нужные хэдеры ? т.е. их минимальное кол-во для корректной...

Подключение заголовочных файлов - C++
Здравствуйте! Подскажите, можно ли сделать так, чтобы при создании нового консольного проекта, наиболее часто используемые файлы (например,...

Подключение заголовочных файлов - C++
Начал изучать С++, скачал несколько книг и заметил что в одних при включении заголовочных файлов (например iostream.h) используется запись:...

Подключение заголовочных файлов. - C++
У меня есть заголовочный файл: ...\1\2\file.h. в папке &quot;1&quot; есть file2.h. Как подключить к &quot;file.h&quot; &quot;file2.h&quot;?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2009, 01:34
Привет! Вот еще темы с ответами:

Подключение сторонних заголовочных файлов - C++
есть 2 репозитория с моим проектом, и с файлами которые пишутся для нескольких проектов, можно ли подключить их не перенося в мой проект?...

Перекрёстное подключение заголовочных файлов - C++
Здоровеньки булы. Есть 2 класса, каждый в своём хедере. В классе А есть экземпляр (не указатель) класса В и наоборот. Как организовать...

Перекрестное подключение заголовочных файлов - C++
Пишу программу и появилась необходимость подключать в двух модулях заголовочные файлы один одного, при этом один из хедеров не...

Правильное подключение заголовочных файлов - C++
Как подключать заголовочные файлы я знаю, но вот у меня есть вопрос, ответ на который я нигде не видел, не видел даже рекомендаций как...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru