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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.61
Bizonozubr
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 14
#1

Наследование классов, ошибка no matching function for call to - C++

08.04.2013, 15:56. Просмотров 8519. Ответов 2
Метки нет (Все метки)

Здравствуйте. Имеется программа с классом tre. Пытаюсь сделать наследование Новым классом Trel, но получаю ошибку no matching function for call to `Trel::Trel(int, int, int)'.
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
class tre
{public: int a,b,c;
tre(int x, int y, int z)
{a=x;b=y;c=z;
if(!((a+b>c)&&(a+c>b)&&(b+c>a))) {printf("ERROR!!!"); getch(); exit(1);}
};
~tre(){printf("\nObject deleted!");getch();};
tre()
    { cout<<"X= "; cin>>a;
      cout<<"Y= "; cin>>b;
      cout<<"Z= "; cin>>c;
      cout<<a<<" "<<b<<" "<<c;
      cout<<endl;       
    }
int per()
    {return (a+b+c);
    }
float s()
{float p, plo;
p=(a+b+c)/2;
plo=sqrt(p*(p-a)*(p-b)*(p-c));
return plo;}
};
 
class Trel:tre
{
};
 
int main()
{tre tre2,tre1(6,5,3);
 
printf("Perimetr= %d\n",tre1.per());
printf("Ploschad= %f\n",tre1.s());
tre1.~tre();
Trel tre(6,5,4);
//printf("Vucota= %d\n",tre3.high());
//tre.~tre();
}


Если перед class Trel вставить public, то выведет следующую ошибку: expected unqualified-id before "public".
Почему я не могу передать конструктор и сразу его же значения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Наследование классов, ошибка no matching function for call to (C++):

Ошибка "no matching function for call to." / наследование классов - C++
Доброго времени суток. В качестве некоторой предыстории скажу, что начать изучать С++ довелось совсем недавно, и в процессе возникла...

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

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

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

Ошибка no matching function for call to при работе с файлом - C++
возникает ошибка 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 to 'Slovare<std::basic_string<char> >::show()' - C++
Помогите исправить ошибку. Программа должна при нажатии 3 выводить итог, но при построении выходит ошибка как раз в этой строчке:...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.04.2013, 16:32 #2
ну дак конструкторы не наследуются - в треле только создаваемый компилятором конструктор по умолчанию
Nuqlear
5 / 5 / 0
Регистрация: 05.11.2011
Сообщений: 17
08.04.2013, 17:05 #3
Можно вот так:
C++
1
2
3
4
5
6
7
class Trel: public tre
{
public:
    Trel(int x, int y, int z):tre(x,y,z)
    {
    }
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2013, 17:05
Привет! Вот еще темы с ответами:

"no matching function for call to" ошибка в вызове конструктора - C++
имеется следующий класс makeworldtemplate.h #ifndef MAKEWORLDTEMPLATE_H #define MAKEWORLDTEMPLATE_H #include &lt;list&gt; ...

No matching function to call to - C++
не могу никак понять, в чём дело: class field_box{ public: field_box(vec2 ipos,vec2 isize, int a){ ...

Ошибка в конструкторе: "no matching function for call to" - C++
In constructor 'Graph::Graph(int, std::vector&lt;edge&gt;)': 98:49: error: no matching function for call to 'DSofNude::DSofNude()' 98:49:...

exceptions (no matching function for call to .) - C++
Помогите, пожалуйста, разобраться с исключениями: double ctok(double c) { return c + 273.15; } int main() { try { ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru