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

Ошибка argument of type "CGroup *" is incompatible with parameter of type "CGroup *" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивный поиск папок/файлов в С++ http://www.cyberforum.ru/cpp-beginners/thread312829.html
Здравстуйте, может кто знает как можно реализовать рукурсивный поиск папок или файлов на С++. Платформа может быть любой ... Нароботок чесно говоря нет ...
C++ Как найти сумму строки в матрице? Дана матрица размера M × N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы. http://www.cyberforum.ru/cpp-beginners/thread312828.html
Файловый ввод/вывод: в строке поменять местами слова, разделенные союзом "и" C++
Задача такая : для заданной строки S поменять местами слова, разделенные союзом "и". Текст нужно считывать с заранее созданного файла "input.txt" и записывать в "output.txt". Собирал частями по форумам.Не до конца понимаю как работает vector. #include "StdAfx.h" #include <fstream> #include <windows.h> #include <string> #include <vector> using namespace std;
Морской бой C++
Задача. Игра "Морской бой". Текст. Игра для 2 человек, обмен информацией через общие файлы на сетевом диске. Алгоритм найден на просторах сети. Не работает запись и чтение в файл. Что сделал: #include <conio.h> #include <stdlib.h> #include <stdio.h> //#include <iostream.h> #include <time.h>
C++ Ввод и вывод строки целиком http://www.cyberforum.ru/cpp-beginners/thread312783.html
Здравствуйте. Как реализовать ввод и вывод строки целиком, с пробелами и прочим? Спасибо.
C++ В классе "Date" увеличить заданную дату на один день Не могу понять в чем ошибка(выдает ошибку линковки). В классе Date нужно увеличить заданную дату на один день: #include<iostream> #include<fstream> using namespace std; class Date { public: Date(int dd = 12,int mm = 5, int yy = 1971); подробнее

Показать сообщение отдельно
DWand
13 / 13 / 1
Регистрация: 23.04.2011
Сообщений: 99
05.06.2011, 00:04  [ТС]     Ошибка argument of type "CGroup *" is incompatible with parameter of type "CGroup *"
Это то, что успел сделать до возникновения ошибки:

ЗАГОЛОВОЧНЫЕ ФАЙЛЫ

Файл including.h
C++
1
2
3
4
5
6
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
Файл Interface.h
C++
1
2
3
4
5
6
7
8
9
#pragma once
#include "including.h"
 
class CInterface
{
public:
    CInterface(void);
    ~CInterface(void);
};
Файл Student.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "including.h"
 
class CStudent
{
private:
    int _code;
    int _groupCode;
    string _name;
    struct {
        int _year;
        int _month;
        int _day;
    } _bornDate;
    string _status;
    vector <int> _marks;
 
public:
    CStudent();
    ~CStudent();
};
Файл Group.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
#include "including.h"
#include "Student.h"
 
class CGroup
{
private:
    string _name;
    int _course;
    int _code;
    vector <CStudent*> _students;
 
public:
    string getName();
    int getCode();
    int getCourse();
    void addStudent(CStudent *student);
    vector <CStudent*> getStudents();
 
public:
    CGroup();
    CGroup(string name, int course, int code);
    ~CGroup();
};
Файл Course.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "including.h"
#include "Group.h"
 
class CCourse
{
private:
    int _number;
    vector <CGroup*> _groups;
 
public:
    int getNumer();
    void addGroup(CGroup* group);
    vector <CGroup*> getGroups();
 
public:
    CCourse(void);
    CCourse(int number);
    ~CCourse(void);
};
Файл Base.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "including.h"
#include "Course.h"
#include "Group.h"
 
class CBase
{
private:
    vector <CCourse> _courses;
    vector <CGroup*> _groups;
    vector <CStudent*> _students;
 
    string _groupsPath;
    string _studentsPath;
    string _marksPath;
 
public:
    CBase(void);
    ~CBase(void);
 
    void readFiles();
};
ФАЙЛЫ РЕАЛИЗАЦИИ

Файл main.cpp
C++
1
2
3
4
5
6
7
8
9
#include "including.h"
#include "Base.h"
 
void main(){
setlocale(LC_ALL, "russian");
CBase pBase;
pBase.readFiles();
cin.get();
}
Файл Interface.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "Interface.h"
 
 
CInterface::CInterface(void)
{
}
 
 
CInterface::~CInterface(void)
{
}
Файл Student.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "Student.h"
 
 
CStudent::CStudent(void)
{
}
 
 
CStudent::~CStudent(void)
{
}
Файл Group.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
#include "Group.h"
 
 
CGroup::CGroup(void) {
    _name = "undefined";
    _course = 0;
    _code = 0;
}
 
CGroup::CGroup(string name, int course, int code) {
    _name = name;
    _course = course;
    _code = code;
}
 
CGroup::~CGroup(void) {
    _students.clear();
}
 
string CGroup::getName(){
    return _name;
}
 
int CGroup::getCode(){
    return _code;
}
 
void CGroup::addStudent(CStudent *student) {
    _students.push_back(student);
}
 
vector <CStudent*> CGroup::getStudents(){
    return _students;
}
Файл Course.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
#include "Course.h"
 
CCourse::CCourse(void) {
    _number = 1;
}
 
CCourse::CCourse(int number) {
    _number = number;
}
 
CCourse::~CCourse(void) {
    _groups.clear();
}
 
int CCourse::getNumer() {
    return _number;
}
 
void CCourse::addGroup(CGroup *group) {
    _groups.push_back(group);
}
 
vector <CGroup*> CCourse::getGroups(){
    return _groups;
}
Файл Base.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
#include "Base.h"
#include <Windows.h>
 
CBase::CBase(void){
    _groupsPath = "groups.txt";
    _studentsPath = "students.txt";
    _marksPath = "marks.txt";
}
 
 
CBase::~CBase(void)
{
}
 
void CBase::readFiles(){
    fstream file;
    file.open(_groupsPath, ios::in);
    if (!file.is_open()){
        cout << "Произошла ошибка при чтении файла групп!" << endl;
        return;
    }
    char tmp[256];
    file.getline(tmp,256);
    while (!file.eof()){
        file.getline(tmp,256);
        string tmpStr = tmp;
        string sIndex;
        string sName;
        string sCourse;
        int ind;
        ind = tmpStr.find(" | ");
        sIndex = tmpStr.substr(0,ind);
        tmpStr.erase(0, ind + 3);
        ind = tmpStr.find(" | ");
        sName = tmpStr.substr(0,ind);
        tmpStr.erase(0, ind + 3);
        sCourse = tmpStr.substr(0,ind);
        int code = atoi(sIndex.data());
        int course = atoi(sCourse.data());
        
        if (_courses.size() < course){
            for (int i = _courses.size(); i < course; i++){
                _courses.push_back(CCourse(i + 1));
            }
        }
 
        CGroup* newGroup = new CGroup(sName, course, code);
        _courses[course - 1].addGroup(newGroup);
 
    }
    
    for (int i = 0; i < _courses.size(); i++){
        cout << "Курс " << i + 1 << ":" << endl;
        cout << "\tГрупп на курсе: " << _courses[i].getGroups().size() << endl;
        for (int j = 0; j < _courses[i].getGroups().size(); j++){
            cout << '\t' << _courses[i].getGroups()[j] -> getName() << endl;
        }
        cout << endl;
    }
    file.close();
}
Как-то так. Догадываюсь что далеко не самый оптимальный способ, но что получилось...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru