1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
1

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

07.06.2011, 21:46. Показов 3316. Ответов 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 минут
помогите пожалуйста пожалуйста пожалуйста((((
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2011, 21:46
Ответы с готовыми решениями:

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Братаны, выручайте! Общая постановка. Пользовательский класс Х должен содержать необходимые...

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin
Братаны, выручайте!:help: Общая постановка. Пользовательский класс Х должен содержать необходимые...

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

Сравнение строк в перегруженной функции
Здравствуйте! есть перегруження функция Block* BlocksList::Find(string text) const { ...

6
13 / 13 / 4
Регистрация: 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->
0
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
08.06.2011, 09:29  [ТС] 3
но тогда функция не перегруженная, а это обязательное условие задачи
0
13 / 13 / 4
Регистрация: 24.02.2011
Сообщений: 64
08.06.2011, 17:14 4
Цитата Сообщение от girlwithoutname Посмотреть сообщение
Но как сделать так, что бы он брал эти переменные в функции конструктора???
Я ответил на этот вопрос.
Перегрузка функции это когда, вы перегружаете опереаторы "+", "-", ">", "<", "=", "<<", ">>", "==" и прочие. Но в коде у вас даже нет попыток их перегрузить.
0
593 / 531 / 76
Регистрация: 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);
1
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();
}
0
1 / 1 / 0
Регистрация: 19.12.2010
Сообщений: 37
08.06.2011, 23:35  [ТС] 7
задача звучит так: создать класс по нахождению площади эллипса. ввод полуосей необходимо произвести в функции конструктора. расчет оформить с учетом перегрузки функций. и перегрузка имелось ввиду название одно а тип данных разный.

Добавлено через 10 минут
OstapBender, спасибо большое, все работает так как хотелось=*
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.06.2011, 23:35
Помогаю со студенческими работами здесь

Pow: нет перегруженной функции
Ошибка 2 error C2661: pow: нет перегруженной функции, принимающей 1...

Неоднозначный вызов перегруженной функции
Ввести с клавиатуры число n. Динамически выделить память для массива целых чисел размером n....

Неоднозначный вызов перегруженной функции
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #include...

Неоднозначный вызов перегруженной функции
Ошибка 1 error C2668: hash_helper::hash: неоднозначный вызов перегруженной функции...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru