Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30

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

06.12.2013, 22:01. Показов 2184. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть задания: есть 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];
    };
};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2013, 22:01
Ответы с готовыми решениями:

Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?

Вызвать конструктор произвольного класса в другом классе
Здравствуйте! Есть необходимость вызвать конструктор какого-либо класса в методе другого класса. Примерно так: class A{}; class B:...

Использование объектов класса в другом классе
Пусть имеются 2 класса Snake и Food, а также 2 их объекта snake и food соответственно. food должен в одном из его методов работать со...

5
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
06.12.2013, 22:12
ошибка линковки. функции объявлены, но хз где реализованы:
C++
1
2
3
4
 student();
 student(char*,char*,char*,int, int, int,char*,char*,int);
 void show_student(void);
 ~student();
0
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30
06.12.2013, 22:34  [ТС]
они реализованы в других 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;
     */
    };
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
06.12.2013, 22:42
Ну так а конструктор
C++
1
student();
где определение ?
1
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
06.12.2013, 22:42
Цитата Сообщение от shinarthas Посмотреть сообщение
они реализованы в других cpp
Конструктор по умолчанию (без аргументов) не реализован.
1
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 30
06.12.2013, 22:47  [ТС]
Прикольно. Теперь работает))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2013, 22:47
Помогаю со студенческими работами здесь

Массив элементов класса в другом классе
Есть класс &quot;студент&quot; и &quot;группа&quot;. В группе есть массив студентов. Как из main использовать методы класса студент, через класс группа?...

Конструктор использующий массив объектов супер класса
public class FunctionPoint { private double x,y; public void setX(double x) { this.x=x; } public void...

Создать в классе массив объектов предыдущего класса
Задача такая: Создать иерархию классов для описания предметной области (это я сделал). Последний класс (в моём коде - класс list) должен...

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном классе,в другом классе.У меня есть объект pl класса Player,это...

Использование класса QSignalMapper + компилятор ругается на указатель this
Добрый вечер! У меня проблема возникла - начал осваивать Qt и при разборе примера с QSignalMapper возникла проблема. Задача такая -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru