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

Ошибка "no matching function for call to." / наследование классов

11.06.2015, 12:53. Показов 61362. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.

В качестве некоторой предыстории скажу, что начать изучать С++ довелось совсем недавно, и в процессе возникла некоторая неопределенность

При попытке реализовать наследование классов(в простейшем виде, но с header'ом) выдаёт ошибку:
"error: no matching function for call to 'myclass::myclass()'"(ругается на файл myclass.cpp)

код "программы"

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
#include <iostream>
#include<string>
 
using namespace std;
 
#include "myclass.h"
 
int main()
{
    string str;
    cout <<"Insert The String..."<<endl;
    getline(cin, str);
 
    int a;
    cout <<"Insert The Number..."<<endl;
    cin >>a;
 
    myclassDerived theOne(str, a);
    theOne.set_b(str);
    theOne.set_d(a);
    theOne.show_all();
    cout<<endl;
    return 0;
 
}

myclass.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
33
#ifndef MYCLASS_H_INCLUDED
#define MYCLASS_H_INCLUDED
 
#include <string>
 
using namespace std;
 
 
class myclass
{
public:
    myclass(string s);
    void set_b(string s);
    string get_b();
    void show_b();
private:
    string b;
};
 
class myclassDerived: public myclass
{
public:
    myclassDerived(string strng, int i);
    void set_d(int i);
    int get_d();
    void show_d();
    void show_all();
private:
    int d;
 
};
 
#endif // MYCLASS_H_INCLUDED

myclass.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
#include <iostream>
#include<string>
 
 
using namespace std;
 
#include "myclass.h"
 
 
 
myclass::myclass(string s)
{
    set_b(s);
}
 
void myclass::set_b(string s)
{
    b = s;
}
 
string myclass::get_b()
{
    return b;
}
 
void myclass::show_b()
{
    cout <<"The String is: "<< get_b()<<endl;
}
 
myclassDerived::myclassDerived(string strng, int i)
{
    set_d(i);
    set_b(strng);
}
 
void myclassDerived::set_d(int i)
{
    d = i;
}
 
int myclassDerived::get_d()
{
    return d;
}
 
void myclassDerived::show_d()
{
    cout << "The Number is" << get_d()<<endl;
}
void myclassDerived::show_all()
{
    cout <<"The String is "<< get_b()<<"The Number is" << get_d()<<endl;
}
возможно, я допускаю какую-то очень нубскую ошибку, но не вижу её?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2015, 12:53
Ответы с готовыми решениями:

Наследование классов, ошибка no matching function for call to
Здравствуйте. Имеется программа с классом tre. Пытаюсь сделать наследование Новым классом Trel, но получаю ошибку no matching function for...

Ошибка: no matching function for call to
Здравствуйте. Вот такая ошибка: /usr/include/c++/4.8/bits/stl_algo.h:2235:62: required from ‘void...

Ошибка компиляции: no matching function for call
В классе объявлено 4 конструктора: MyClass() = default; explicit MyClass(const MyClass&amp;) = default; explicit...

2
шКодер самоучка
 Аватар для Max Dark
2307 / 1974 / 955
Регистрация: 09.10.2013
Сообщений: 4,449
Записей в блоге: 3
11.06.2015, 13:05 2
у Вас отсутствует конструктор без параметров для myclass
создайте его, либо замените в файле myclass.cpp строки 31-35
C++ Скопировано
1
myclassDerived::myclassDerived(string strng, int i):myclass(strng),d(i) {}
здесь происходит вызов конструктора базового класса и установка поля d=i
1
0 / 0 / 0
Регистрация: 05.06.2015
Сообщений: 2
11.06.2015, 14:10  [ТС] 3
Cra3y, благодарю за ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2015, 14:10
Помогаю со студенческими работами здесь

Ошибка компиляции: no matching function for call to
Здравствуйте форумчане. Возникает ошибка компиляции no matching function for call to в коде: editor-&gt;make_field&lt;Game,...

Ошибка error: no matching function for call to '.'
Всем привет. Так как моё изучение языка с++ началось недавно, пока не со всеми проблемами могу справиться. Помогите, пожалуйста. ...

Ошибка no matching function for call to при работе с файлом
возникает ошибка no matching function for call to 'getline(std::string&amp;, std::string&amp;)' #include &lt;iostream&gt; #include &lt;string&gt;...

Ошибка no matching function for call
Здравствуйте, не могу понять почему выдает ошибку. текст ошибки : no matching function for call to...

Ошибка: no matching function for call
Добрый вечер! Только начинаю изучать с++, задали написать программу-пример, которая показывает что наследуемый класс имеет доступ с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
[golang] 135. Candy
alhaos 21.02.2025
Дан массив рейтинга детей, по этому рейтингу нужно раздать конфеты. - Каждый ребенок должен получить хотя бы одну конфету. - Дети с более высоким рейтингом должны получать больше конфет, чем их. . .
map в Go: объявление и инициализация
stackOverflow 21.02.2025
Хэш-таблицы, словари, ассоциативные массивы - как бы мы их не называли, этот тип данных знаком каждому разработчику. В языке Go они реализованы в виде встроенного типа map, который позволяет хранить. . .
Лучшие книги по Go в 2025
stackOverflow 21.02.2025
Давайте сначала рассмотрим наиболее интересные и полезные книги, которые помогут освоить язык программирования Go с нуля. "For the Love of Go" - одна из самых доступных книг для тех, кто только. . .
Приложения Wasm на Go
stackOverflow 21.02.2025
Технология WebAssembly (Wasm) произвела настоящую революцию, позволив запускать высокопроизводительный код прямо в браузере на скоростях, близких к нативным приложениям. В версии Go 1. 24 появились. . .
Go: тестирование многопоточного кода с testing/synctest
stackOverflow 21.02.2025
Тестирование многопоточного кода - одна из самых сложных задач в разработке программного обеспечения, особенно когда речь идет о проверке корректности работы конкурентных операций и синхронизации. И. . .
Как на C вычислить exp(x), если x очень велико
stackOverflow 21.02.2025
Функция экспоненты exp(x) - одна из фундаментальных математических операций, которая находит широкое применение в науке, инженерии и финансовых расчетах. Однако при работе с большими значениями. . .
Использование try/except вместо if для управления логикой
stackOverflow 21.02.2025
Давайте на минутку задумаемся - что происходит, когда мы пишем длинную цепочку проверок перед выполнением какого-либо действия? Код становится громоздким, трудным для чтения и поддержки. А ведь часто. . .
HCL Notes/Domino: руководство по установке и настройке
stackOverflow 20.02.2025
Приложения для совместной работы стали неотъемлемой частью современного бизнеса, и HCL Notes/ Domino занимает особое место среди них. Это не просто почтовый клиент или сервер - это целая экосистема. . .
Лучшие практики использования HCL Notes/Domino
stackOverflow 20.02.2025
HCL Notes/ Domino продолжает оставаться одной из наиболее востребованных платформ для создания корпоративных приложений и систем документооборота. Несмотря на появление множества современных решений,. . .
Использование Type Erasure для Equatable и Hashable типов в Swift
bytestream 20.02.2025
Современная разработка на Swift часто сталкивается с необходимостью работать с обобщенными типами данных и протоколами. Однако существуют ситуации, когда типовая система Swift создает определенные. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер