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

class/string/ifstream/ofstream - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подключение С библиотеки (.so) к проекту С++ http://www.cyberforum.ru/cpp-beginners/thread935180.html
С++ не хочет подключать сишную библиотеку, пробовала подключить и методами gcc из консоли, и методами QT, создавала makefile, все едино. Писать при каждом вызове библиотечной функции extern "C" тоже не вариант, слишком много вызовов этих самых функций в разных файлах, копаться неделю можно. Может, есть какие-то более простые методы решения проблемы?
C++ Кормен. Задача. Генератор случайных чисел Есть задача из Кормена, но я не знаю как к ней подступиться, расчитываю на помощь. Есть генератор случайных чисел BiasedRandom который выдает 0 с вероятностью p, и 1 - с вероятностью 1 - p. Значение p не известно. Нужно сформулировать алгоритм, который будет использовать BiasedRandom и выдавать 0 либо 1 с вероятностью 1/2. Как такое нужно делать? Мне только пришла в голову идея с... http://www.cyberforum.ru/cpp-beginners/thread935179.html
Можно ли удалить объект std::vector, а данные оставить? C++
void fun(double *p) { std::vector<double> myvector (5); p=myvector.data(); return; } После выполнения p указывает на освобожденную память. Делать копию не хочется. Можно ли сохранить данные из вектора?
Шаблоны, векторы и указатели на функции C++
template <typename T> class A { public: A(std::vector<T>); private: std::vector<T> func1(); std::vector<T> func2(); //... std::vector<T> func10();
C++ Точка входа должна быть определена http://www.cyberforum.ru/cpp-beginners/thread935142.html
Так как тупая проблема, спрашиваю в форуме для новичков. Я понимаю что смысл проблемы в том что нет или криво задан мэйн, но я не вижу тут ошибки. hello bmp lib и include подключены. /*This source code copyrighted by Lazy Foo' Productions (2004-2013) and may not be redistributed without written permission.*/ //Include SDL functions and datatypes #include <SDL.h> int main( int argc,...
C++ Поиск значения в памяти приложения ("Нет" читам!) Здравствуйте, жители КиберФорума! Играл недавно в немало известную игру Sniper Elite(1 часть, мультиплеер), читеров оказалось хоть ж*п*й поедай! Раньше знаю, что была софтина, называющаясь "Spotter for Sniper Elite", которая делала так называемую "админку" человеку создающему комнату(сервер). Сейчас Споттер перестал работать(в силу кто его знает чего) :(. Так вот с написанием читов я уже хорошо... подробнее

Показать сообщение отдельно
alex1392
31 / 31 / 3
Регистрация: 24.07.2013
Сообщений: 187
08.08.2013, 12:07     class/string/ifstream/ofstream
Доброе время суток всем!! Люди я уперся в стену и буду признателен за помощь

date.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
#pragma once
#include <iostream>
#include <fstream>
using namespace std;
class date
{
 
    int day;
    int mounth;
    int year;
public:
    date();
    date(int d,int m,int y);
    date(const date&a);
    
    void set_day(int d);
    void set_mounth(int m);
    void set_year(int y);
 
    int get_day()const;
    int get_mounth()const;
    int get_year()const;
 
    date operator=(const date&a);
    friend ostream& operator<<(ostream& os,const date& a);
    friend istream& operator>>(istream& is, date& a);
    friend ofstream& operator<<(ofstream &fs,const date &a);
    friend ifstream& operator>>(ifstream &fs,date &a);
};
date.cpp

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
#include <iostream>
#include "date.h"
using namespace std;
    date::date()
    {
 
    }
    date::date(int d,int m,int y)
    {
        day=d;
        mounth=m;
        year=y;
    }
    date::date(const date&a)
    {
        day=a.get_day();
        mounth=a.get_mounth();
        year=a.get_year();
    }
    
    void date::set_day(int d)
    {
        day=d;
    }
    void date::set_mounth(int m)
    {
        mounth=m;
    }
    void date::set_year(int y)
    {
        year=y;
    }
 
    int date::get_day()const
    {
        return day;
    }
    int date::get_mounth()const
    {
        return mounth;
    }
    int date::get_year()const
    {
        return year;
    }
    date date::operator=(const date&a)
    {
        day=a.day;
        mounth=a.mounth;
        year=a.year;
        return *this;
    }
person.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
#pragma once
#include <iostream>
#include <string>
#include "date.h"
#include <fstream>
using namespace std;
class Person
{
    string name;
    string family;
    date birthday;
public:
    Person(){};
    Person(string aname,    string afamily  ,int d,int m,int y)
    {
        name=aname;
        family=afamily;
        birthday.set_day(d);
        birthday.set_mounth(m);
        birthday.set_year(y);
    }
    Person(const Person&a)
    {
        name=a.name;
        family=a.family;
        birthday=a.birthday;
    }
    friend ofstream& operator<<(ofstream&fs,const Person&a);
    friend ifstream& operator>>(ifstream&fs,Person&a);
    friend ostream& operator<<(ostream& os,const Person& a);
    friend istream& operator>>(istream& is, Person& a);
};
main.cpp
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
#include <time.h>
#include "date.h"
#include <Windows.h>
#include "Person.h"
using namespace std;
ostream& operator<<(ostream& os,const date& a)
{
    os<<a.day<<",";
    os<<a.mounth<<",";
    os<<a.year<<endl;
    return os;
}
istream& operator>>(istream&is,date&a)
{
 
    cout<<"enter day=";
    is>>a.day;
 
    cout<<"enter mounth=";
    is>>a.mounth;
 
    cout<<"enter year=";
    is>>a.year;
    return is;
}
ifstream& operator>>(ifstream &fs,date &a)
{
    int sz=sizeof(int);
    fs.read((char*)&a.day,sz);
    fs.read((char*)&a.mounth,sz);
    fs.read((char*)&a.year,sz);
    return fs;
}
ofstream& operator<<(ofstream &fs,const date &a)
{
    int sz=sizeof(int);
    fs.write((char*)&a.day,sz);
    fs.write((char*)&a.mounth,sz);
    fs.write((char*)&a.year,sz);
    return fs;
}
 
 ostream& operator<<(ostream& os,const Person& a)
 {
     os<<a.name<<endl;
     os<<a.family<<endl;
     os<<a.birthday<<endl;
     return os;
 }
 istream& operator>>(istream& is, Person& a)
 {
     cout<<"enter name=";
     is>>a.name;
     cout<<"enter family";
     is>>a.family;
     is>>a.birthday;
     return is;
 }
ofstream& operator<<(ofstream&fs,const Person&a)
{
    fs<<a.birthday;
    fs<<a.name<<" ";
    fs<<a.family;
    return fs;
}
ifstream& operator>>(ifstream&fs,Person&a)
{
    fs>>a.birthday;
    fs>>a.name;
    fs>>a.family;
    return fs;
}
 
void main()
{
    Person alex("alex","forokin",6,10,1999);
    Person dima("dima","falonov",12,11,1975);
    Person ksu("ksu","britva",8,10,1986);
 
    ofstream f("test.bin",ios::binary);
    f<<alex;
    f<<dima;
    f<<ksu;
    f.close();
 
    Person aleks;
    Person dimon;
    Person ksu2;
    ifstream f1("test.bin",ios::binary);
    f1>>aleks;
    f1>>dimon;
    f1>>ksu2;
    f1.close();
 
    cout<<aleks<<endl;
    cout<<dimon<<endl;
    cout<<ksu2<<endl;
 
 
}

Вообщем много уже чего пробовал правда ввиду отсутствия примера сделать правильно и коректно не выходит надеюсь кому не сложно подскажит или покажит как правильно должен выглядить перегруженый ifstream ofstream для класса person содержашего string такжи былбы признателен дажи за простой пример подобного плана!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru