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

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

Войти
Регистрация
Восстановить пароль
 
girlwithoutname
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
#1

Ввод данных в функции конструктора и использование их в перегруженной функции - C++

07.06.2011, 21:46. Просмотров 1005. Ответов 6
Метки нет (Все метки)

Вот собственно код, как его исправить, что бы не было ошибки. Пишет что переменные не объявлены.
Это вполне естественно. Но как сделать так, что бы он брал эти переменные в функции конструктора???

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
#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
public:
    int a,b;
    double c,d; 
    A()
    {
        cout<<"a= ";
        cin>>a;
        cout<<endl;
 
        cout<<"b= ";
        cin>>b;
        cout<<endl;
        
        cout<<"c= ";
        cin>>c;
        cout<<endl;
        
        cout<<"d= ";
        cin>>d;
        cout<<endl;
        
    }
    double S(int a, int b)
    {
        double s;
        s=a*b*3.14159;
        return s;
    };
    double S(double c,double d)
    {
        double s;
        s=c*d*3.14159;
        return s;
    };
};
 
int main()
{
    A ploshchad;
    cout<<"celochislen = "<<ploshchad.S(a,b);
    cout<<"veshchestvennoe"<<ploshchad.S(c,d);
    system ("PAUSE");
    return 0;
}
Добавлено через 46 минут
помогите пожалуйста пожалуйста пожалуйста((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2011, 21:46     Ввод данных в функции конструктора и использование их в перегруженной функции
Посмотрите здесь:

Создание перегруженной функции - C++
Создайте перегруженные функции для вычисления абсолютной величины числа. Одна функция работает с числами типа int, другая с типом double....

Неоднозначый вызов перегруженной функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) { float...

Pow: нет перегруженной функции - C++
Ошибка 2 error C2661: pow: нет перегруженной функции, принимающей 1 аргументов C:\Users\student\Desktop\Языки программирования\zada4a...

Сравнение строк в перегруженной функции - C++
Здравствуйте! есть перегруження функция Block* BlocksList::Find(string text) const { BlockNode * pNode = 0; int...

Найти ошибку в перегруженной функции - C++
Почему-то произведению присваивется размер массива. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Нет перегруженной функции, принимающей 2 аргументов - C++
Оговорюсь сразу, что я новичок в программировании, надеюсь на Вашу помощь. Базовый класс: Контейнер(название и кол-во элементов) ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
adico
13 / 13 / 1
Регистрация: 24.02.2011
Сообщений: 64
07.06.2011, 21:55     Ввод данных в функции конструктора и использование их в перегруженной функции #2
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
#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
public:
        int a,b;
        double c,d;     
        A()
        {
                cout<<"a= ";
                cin>>a;
                cout<<endl;
 
                cout<<"b= ";
                cin>>b;
                cout<<endl;
                
                cout<<"c= ";
                cin>>c;
                cout<<endl;
                
                cout<<"d= ";
                cin>>d;
                cout<<endl;
                
        }
        double S()
        {
                double s;
                s=a*b*3.14159;
                return s;
        };
        double S1()
        {
                double s;
                s=c*d*3.14159;
                return s;
        };
};
 
int main()
{
        A ploshchad;
        cout<<"celochislen = "<<ploshchad.S();
        cout<<"veshchestvennoe"<<ploshchad.S1();
        system ("PAUSE");
        return 0;
}
я думаю так=)
Ничего передавать ненадо.

Добавлено через 23 секунды
и юзайте this->
girlwithoutname
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
08.06.2011, 09:29  [ТС]     Ввод данных в функции конструктора и использование их в перегруженной функции #3
но тогда функция не перегруженная, а это обязательное условие задачи
adico
13 / 13 / 1
Регистрация: 24.02.2011
Сообщений: 64
08.06.2011, 17:14     Ввод данных в функции конструктора и использование их в перегруженной функции #4
Цитата Сообщение от girlwithoutname Посмотреть сообщение
Но как сделать так, что бы он брал эти переменные в функции конструктора???
Я ответил на этот вопрос.
Перегрузка функции это когда, вы перегружаете опереаторы "+", "-", ">", "<", "=", "<<", ">>", "==" и прочие. Но в коде у вас даже нет попыток их перегрузить.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
08.06.2011, 17:19     Ввод данных в функции конструктора и использование их в перегруженной функции #5
Цитата Сообщение от adico Посмотреть сообщение
Перегрузка функции это когда, вы перегружаете опереаторы "+", "-", ">", "<", "=", "<<", ">>", "==" и прочие.
ну вообще-то не только операторы...

автор можешь написать так
C++
1
2
3
        A ploshchad;
        cout<<"celochislen = "<<ploshchad.S(ploshchad.a,ploshchad.b);
        cout<<"veshchestvennoe"<<ploshchad.S(ploshchad.c,ploshchad.d);
Yur4e
2 / 2 / 0
Регистрация: 20.10.2010
Сообщений: 21
08.06.2011, 17:42     Ввод данных в функции конструктора и использование их в перегруженной функции #6
А класс зачем создавать? Сделай две глобальные функции, с одинаковым именем но с разными аргументами.
И вообще, сформулируй задачу нормально. Заголовок темы не несёт смысловой нагрузки, просто набор слов.

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
double square(int a, int b)
{
    cout << "double square(int a, int b)\n";
    return a * b * 3.14159;
}
 
double square(double a, double b)
{
    cout << "double square(double a, double b)\n";
    return a * b * 3.14159;
}
 
int main()
{
    square(1, 2);
    square(1.2, 2.3);
 
    cin.get();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2011, 23:35     Ввод данных в функции конструктора и использование их в перегруженной функции
Еще ссылки по теме:

Передача перегруженной функции как аргумента - C++
Есть 3 метода: static int readInteger() { double temp = readDouble(); int result = temp; if (result != temp) throw new...

Ругается на неоднозначный вызов перегруженной функции - C++
Делаю все по примерам не могу понять в чем ошибка. Уверен что ошибка элементарная. Ругается на неоднозначный вызов перегруженной функции....

Не понятный глюк вызова перегруженной функции - C++
void f (std::wfstream&amp;, bool, const char*, size_t , size_t); void f (std::wfstream&amp;, int, const char*, size_t , size_t); void f ...

нет перегруженной функции, принимающей 3 аргументов - C++
ребят, в чем может быть ошибка, не подскажите?? int Quick() { for(int stolbec=0;stolbec!=ColNumber ;stolbec++) { ...


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

Или воспользуйтесь поиском по форуму:
girlwithoutname
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
08.06.2011, 23:35  [ТС]     Ввод данных в функции конструктора и использование их в перегруженной функции #7
задача звучит так: создать класс по нахождению площади эллипса. ввод полуосей необходимо произвести в функции конструктора. расчет оформить с учетом перегрузки функций. и перегрузка имелось ввиду название одно а тип данных разный.

Добавлено через 10 минут
OstapBender, спасибо большое, все работает так как хотелось=*
Yandex
Объявления
08.06.2011, 23:35     Ввод данных в функции конструктора и использование их в перегруженной функции
Ответ Создать тему
Опции темы

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