Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 11:00   #1
varvara16
Пользователь
 
Регистрация: 05.11.2007
Сообщений: 57
По умолчанию Из С в С++

Здравствуйте. Я только начинаю изучать С++, но очень нужно перевести одну библиотеку, написанную на С под Linux в С++. Помогите, пожалуйста, разобраться с некоторыми ошибками.
Код HTML:
FeatureFileRead.h

#pragma once

#include "RealVector.h"

  enum BigEndian
  {
    BIGENDIAN_AUTO,
    BIGENDIAN_TRUE,
    BIGENDIAN_FALSE
  };
  enum BufferUsage
  {
    BUFFER_AUTO, // auto-sizes buffer
    BUFFER_USERDEFINE  // user defines buffer size
  };
  enum HistoricUsage
  {
    LIMITED,
    ALL_FEATURES
  };

class FeatureFileRead
{
	private:
	void Show(CString str);

public:
	FeatureFileRead();
	    friend class TestFeatureFileReader;

/// Creates a reader for an empty file.
    /// @param c the configuration to use
    FeatureFileReader(const CConfigr& с);
.........
}
Код HTML:
FeatureFileRead.cpp

#include "StdAfx.h"
#include "FeatureFileRead.h"
#include "FeatureFileReaderAbstract.h"
#include "Configr.h"
#include "AudioFileReader.h"

//--------------------------------------------------------------------
FeatureFileRead::FeatureFileRead(const CConfigr& c)
:FeatureFileReaderAbstract(NULL, c, NULL, BUFFER_USERDEFINE, 0, ALL_FEATURES, 0), _pFeatureReader(NULL) 
{}

......
Почему в объявлении было просто FeatureFileReader(const CConfigr& с),
а в описании еще стоит одно двоеточие? Что это означает?

Заранее большое спасибо.
varvara16 вне форума Ответить с цитированием
Старый 12.12.2012, 11:12   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

1) Ключевое слово class отсутствует в языке C.
2) Двоеточие в определении отделяет заголовок от списка инициализации. Можете в первом приближении считать, что выражение после двоеточия входит в тело конструктора.
3) Мне одному кажется, что у Вас в одном месте Read, а в другом Reader? И наследование от FeatureFileReaderAbstract куда-то делось...
Abstraction вне форума Ответить с цитированием
Старый 12.12.2012, 12:30   #3
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
1) Ключевое слово class отсутствует в языке C.
2) Двоеточие в определении отделяет заголовок от списка инициализации. Можете в первом приближении считать, что выражение после двоеточия входит в тело конструктора.
3) Мне одному кажется, что у Вас в одном месте Read, а в другом Reader? И наследование от FeatureFileReaderAbstract куда-то делось...
Эта мадам, скорее всего нам не написала его... но сам факт то что FeatureFileRead является самостоятельным уже говорит об ошибке.

мадам смотрите....
Код:
class A
{
......
public:
func(...) = 0;
....
};

class B: public A
{
....
public:
func(...) {....}
....
};
Класс А абстрактный, короче недоделыш.
Это нужно если к примеру 2 или более классов чем то схожи... и у них есть общие методы, но у каждого они выполняют разного рода кода... класс B описывает func, что была в А.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц