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

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

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

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

25.09.2009, 01:34. Просмотров 922. Ответов 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++
Здоровеньки булы. Есть 2 класса, каждый в своём хедере. В классе А есть экземпляр (не указатель) класса В и наоборот. Как организовать...

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

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

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

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

Взаимное включение заголовочных файлов - C++
Нужно передать объект по ссылке Вот как сейчас: //LoadImages.h class LoadImages { ttfInit(); }; //LoadImages.cpp ...

Правильное включение заголовочных файлов - C++
Привет, хочу задать такой вопрос. У меня есть классы в файлах Menu.h, Options.h, About.h, Game.h, Pause.h. Каждый из этих классов должен...

Создание и использование заголовочных файлов - C++
Здравствуйте! Хочу создать заголовочный файл и засунуть туда объявления функций. Так он выглядит #ifndef LONGNUM_H_INCLUDED #define...

Некорректное взаимодействие заголовочных файлов - C++
Имеется три класса (для каждого отдельный .h). Также есть два enum types, хранящихся в .h с классом. Компилятор во всех заголовочных...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Закрытая тема Создать тему
Опции темы

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