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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 4.61
Bizonozubr
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 14
08.04.2013, 15:56     Наследование классов, ошибка no matching function for call to #1
Здравствуйте. Имеется программа с классом 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 `Serio'::ras4et()'
exceptions (no matching function for call to .) C++
C++ Как исправить ошибку: no matching function for call
C++ Ошибка: no matching function for call to
C++ Ошибка: no matching function for call to 'Slovare<std::basic_string<char> >::show()'
Поиск палиндрома. Итераторы. [ error: no matching function for call to ‘copy_if . ' ] C++
Ошибка компиляции: no matching function for call C++
Ошибка "no matching function for call to." / наследование классов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
08.04.2013, 16:32     Наследование классов, ошибка no matching function for call to #2
ну дак конструкторы не наследуются - в треле только создаваемый компилятором конструктор по умолчанию
Nuqlear
5 / 5 / 0
Регистрация: 05.11.2011
Сообщений: 17
08.04.2013, 17:05     Наследование классов, ошибка no matching function for call to #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)
    {
    }
};
Yandex
Объявления
08.04.2013, 17:05     Наследование классов, ошибка no matching function for call to
Ответ Создать тему
Опции темы

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