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

Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор - C++

Восстановить пароль Регистрация
 
shinarthas
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30
06.12.2013, 22:01     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #1
Суть задания: есть 1 класс надо создать 2-ой класс для работы с коллецией 1-го.

1>main.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall student::student(void)" (??0student@@QAE@XZ) в функции "public: __thiscall studentsfun::studentsfun(int)" (??0studentsfun@@QAE@H@Z)
1>C:\Users\Danil\documents\visual studio 2012\САША\labaaa\lab6m\Debug\lab6m.exe : fatal error LNK1120: неразрешенных внешних элементов: 1

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include<conio.h>
using namespace std;
#include "student.h"
#include "studentsfun.h"
void main()
{ 
    studentsfun A();//работает (если след. строки нету)
    studentsfun AA(5); //не  работает
}
student.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class student
{
public:
    student();
    student(char*,char*,char*,int, int, int,char*,char*,int);
    void show_student(void);
    ~student();
    
    
private:
    char name[20];
    char familia[20];
    char otchestvo[20];
    int dated;
    int datem;
    int datey;
    char adres[64];
    char faculty[20];
    int kurs;
};
studentsfun.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
//#include <locale.h>
 
class student; 
class studentsfun
{
    student *A;
public: 
    studentsfun(){};
    studentsfun(int N)
        
    {
        A=new student[N];
    };
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 22:01     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор
Посмотрите здесь:

Как использовать функцию класса в другом классе (ни один из классов не наследует другой)? C++
Массив объектов класса. Печать строк-членов класса. C++
Получение данных от одного класса в другом классе. C++
C++ компилятор ругается, что для индекса требуется массив или указатель
C++ Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2013, 22:12     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #2
ошибка линковки. функции объявлены, но хз где реализованы:
C++
1
2
3
4
 student();
 student(char*,char*,char*,int, int, int,char*,char*,int);
 void show_student(void);
 ~student();
shinarthas
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30
06.12.2013, 22:34  [ТС]     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #3
они реализованы в других cpp, но они мало интерестны.
но если это поможет делу вот:
student.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
#include "student.h"
#include<stdio.h>
#include <iostream>
using namespace std;
student::student(char* name, char* familia, char* otchestvo, int d,int m,int y,char* adres,char *faculty,int kurs)
{
    strcpy_s(this->name,name);
    strcpy_s(this->familia,familia);
    dated=d;
    datem=m;
    datey=y;
    strcpy_s(this->otchestvo,otchestvo);
    strcpy_s(this->adres,adres);
    strcpy_s(this->faculty,faculty);
    this->kurs=kurs;
}
void student::show_student(void)
 
{
    cout<<"Name: "<<name<<endl;
    cout<<"Familia: "<<familia<<endl;
    cout<<"Otchestvo: "<<otchestvo<<endl;
    cout<<"Data: "<<dated<<"."<<datem<<"."<<datey<<"."<<endl;
    cout<<"Adres: "<<adres<<endl;
    cout<<"faculty: "<<faculty<<" kurs: "<<kurs<<endl<<endl;
}
student::~student()
    {
        /*
     delete name;
     delete familia;
     delete otchestvo;
     delete adres;
     delete faculty;
     */
    };
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.12.2013, 22:42     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #4
Ну так а конструктор
C++
1
student();
где определение ?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
06.12.2013, 22:42     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #5
Цитата Сообщение от shinarthas Посмотреть сообщение
они реализованы в других cpp
Конструктор по умолчанию (без аргументов) не реализован.
shinarthas
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30
06.12.2013, 22:47  [ТС]     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор #6
Прикольно. Теперь работает))
Yandex
Объявления
06.12.2013, 22:47     Массив объектов класса в другом классе (композиция). Компилятор ругается на конструктор
Ответ Создать тему
Опции темы

Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru