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

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

Войти
Регистрация
Восстановить пароль
 
ГузелькаС
5 / 5 / 0
Регистрация: 04.12.2011
Сообщений: 178
#1

Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена" - C++

07.05.2014, 19:49. Просмотров 290. Ответов 1
Метки нет (Все метки)

У меня есть два класса M и К (наследуется от М). В классе М есть три переменные a,b,c. В классе К есть два a1,b1. В классе К есть метод k1, которые использует переменные класса M (a и b). Как мне это написать в коде?

Есть вот такие кусочки. в методе k1 ошибка: недопустимый вызов нестатической функции-члена. как мне это исправить?
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#pragma once
 
class M
{
public:
    double a,b,c;
    double& getA(void);
    double& getB(void);
    M(void);
    M(double x,double y,double z);
    ~M(void);
    double m1(void);
};
 
#include "StdAfx.h"
#include "M.h"
#include "math.h"
#include <iostream>
using namespace std;
M::M(double x,double y,double z)
{
    this->a=x;
    this->b=y;
    this->c=z;
}
M::M(void)
{
}
double M::m1(void)
{
    
return (2*cos(a+b))/sin(c);
}
M::~M(void)
{
}
double& M::getA()
{
    return a;
}
double& M::getB()
{
    return b;
}
 
#pragma once
#include "M.h"
class K:public M
{
public:
    double a1,b1;
    K(void);
    K(double x1,double y1);
    ~K(void);
    double k1(void);
};
 
#include "StdAfx.h"
#include "K.h"
#include "math.h"
#include "M.h"
K::K(void)
{
}
K::K(double x1,double y1)
{
    a1=x1;
    b1=y1;
}
 
K::~K(void)
{
}
double k1(void)
{
    return M::getA();
//пока только так написала, потом допишу свою функцию
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 19:49     Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена"
Посмотрите здесь:
C++ Ошибка "sin: неоднозначный вызов перегруженной функции"
C++ Ошибка при преобразовании числа в строку: "неоднозначный вызов перегруженной функции"
C++ Ошибка "неоднозначный вызов перегруженной функции"
C++ Ошибка "Недопустимый else без парного if"
C++ Ошибка : Class не содержит члена "getline" С++
Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")? C++
Определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) C++
Ошибка "no matching function for call to." / наследование классов C++
C++ Написать реферат за пару часов на тему "Наследование, виртуальные функции и динамический полиморфизм"
Class "IEntity" не содержит члена "m_pEntityId" C++
C++ Как реализовать вызов "переменной" функции?
C++ "быстрая" сортировка (вызов функции)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kylroma
Одессит
196 / 67 / 19
Регистрация: 30.12.2013
Сообщений: 248
Записей в блоге: 1
Завершенные тесты: 1
07.05.2014, 22:10     Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена" #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Думаю так:

55
C++
1
double k1(M & m);
C++
1
2
3
4
5
double k1(M & m)
{
    return m.getA();
 
}
Yandex
Объявления
07.05.2014, 22:10     Простое Наследование и ошибка "Недопустимый вызов нестатической функции-члена"
Ответ Создать тему
Опции темы

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