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

.h и .cpp файлы, бредовые ошибки после разбиения класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не копируется структура C++ (по введеному номеру телефона удалить информацию из файла) http://www.cyberforum.ru/cpp-beginners/thread868857.html
Рабочий код: Структура в заголовочном файле: struct contact{ int ID; std::string Name; std::string Surname; std::string Midlename; int IDgroup; birthday Birthday; int age;
C++ Задача на рекурсию Вот код проги которую я написал: #include <iostream> using namespace std; int factr(double i){ int answer; if(i==1) return(1); } http://www.cyberforum.ru/cpp-beginners/thread868849.html
C++ Конвертировать из с в с++
Переделать из язика с в язик С++ файл снизу #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> using namespace std; struct bazas { char name;
Переход на нужную позицию в файле и затем считывание с этой позиции C++
программа организация дека из файла, файл текстовый, можно бинарный, но так удобней тут только часть кода, наверн этого достаточно я строю дек затем хочу добавить еще элемент, справа и слева потом удаляю, очищаю память пробовала и функцииями fseek(), ftell() и fgetpos(),fsetpos но результат в принципе одинаковый, когда считываю, то считывается, как я понимаю, пустая строка
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread868835.html
Здравствуйте! помогите, пожалуйста, написать программу для задания: F(x) = (x – a) / (x – c) - при x > 3 и b = 0, { a x^2 – b x + c - при x < 3 и b != 0, x / c - в остальных случаях. G = НЕ (A ИЛИ B) И (A МОД2 C)
C++ Вместо нуля выводит непонятное число Вот пожалуйста кусок кода, считающий неувязку после решения СЛАУ: int n=5; double **a, *b, *x, r, c, s, q; int i, j, d, p, m, k; ---------------------//---------------------- double nev, del, z, summ; for (i=1; i<=n; i++) { подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
18.05.2013, 02:45
supra7sky, не совсем практично использовать сразу std::fstream для чтения с файла. Гораздо лучше использовать класс по иерархии выше(прародителя) std::istream, a затем в конекетной реализации просто указать уже oбъект класса std::fstream (если будет такая необходимость). Но если конкретно уверенны, что будете использовать именно std::fstream, то оставьте его как и было.
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
// material.h
 
#ifndef _MATERIAL_H_
#define _MATERIAL_H_
 
#include <string>
#include <istream>
 
class Material;
std::istream& operator>>(std::istream &, Material &);
 
class Material {
public:
    std::string   name;
    unsigned count;
    double   price_one,
            _price_all;
 
// Конструкторы
    Material(std::string NAME, unsigned COUNT, double PRICE_ONE);
 
// Инициализация
    void Init(std::string NAME, unsigned COUNT, double PRICE_ONE);
 
//Ввод/Вывод
    friend std::istream &operator>> (std::istream &, Material &);
};
 
#endif
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
// material.cpp
 
#include "material.h"
 
#include <iomanip>
#include <iostream>
 
/* Конструкторы */
Material::Material(std::string NAME, unsigned COUNT, double PRICE_ONE) // Ошибка здесь
{
     name = NAME;
     count = COUNT;
     price_one = PRICE_ONE;
    _price_all = price_one * double(count);
}
 
/* Инициализация */
void Material::Init(std::string NAME, unsigned COUNT, double PRICE_ONE) // и здесь
{
     name = NAME;
     count = COUNT;
     price_one = PRICE_ONE;
    _price_all = price_one * double(count);
}
 
std::istream &operator>> (std::istream& stream, Material &obj) {
    std::getline(stream, obj.name);  // и здесь
    stream.read( (char*)&obj.count,      sizeof(obj.count)      );
    stream.read( (char*)&obj.price_one,  sizeof(obj.price_one)  );
    stream.read( (char*)&obj._price_all, sizeof(obj._price_all) );
    return stream;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru