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

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

Войти
Регистрация
Восстановить пароль
 
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
#1

Функции в качестве члена класса - C++

06.10.2009, 16:15. Просмотров 526. Ответов 2

Вот изучаю классы, и я так понял,можно описывать функции вне класса, достаточно знака ": :".
Вот решил написать, поэкспериментировать. Что-то не выходит.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
class fanta
{
public:
    int r1 = 15, r2 =20, rez;
    void k();
}
fanta::k()
{
    rez = r1 + r2;
}
 
int main()
{
  fanta a;
  a.k;
  cout<<a.k;
  cin.get();
}
Моя цель, должна получится вывестись сумма 2 чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2009, 16:15     Функции в качестве члена класса
Посмотрите здесь:

Передача члена класса в качестве параметра метода - C++
Добрый день. Интересует следующий вопрос: как передать член класса как параметр по значению в метод того же класса? То есть необходимо,...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса? - C++
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и прочее //опущены для уменьшения кода ...

Определить операторы как функции члена класса - C++
Добрый вечер! Ребята, помогите решить вот такую задачку: Необходимо определить операторы +, =, +=, -=, *=, , как функции члена...

Вызов функции-члена класса по адресу в памяти - C++
Всем хорошего дня :) Допустим, что где-то есть static функция, не принимающая аргументов и ничего не возвращающая. Имея один лишь...

Перегруженный оператор сдвига '<<' не функции-члена класса для объекта ostream - C++
Добрый день. В учебнике попалось на первый взгляд простое задание: #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello,...

Передача метода класса в качестве аргумента внешней функции - C++
Столкнулся со следующей проблемой. Пусть у меня есть некая внешняя функция, которая принимает в качестве аргумента указатель на функцию...

Создание шаблона bool-функции, принимающей в качестве параметра экземпляр класса - C++
Добрый день. Никак не получается осилить) Суть: есть классы, у которых есть поле str - массив символов. Хочу сделать...

Объявление объекта класса fstream в качестве статической компоненты другого класса - C++
Доброго времени суток. Есть задание, в котором говорится &quot;...Перепишите программы из упражнений 4 и 6 таким образом, чтобы использовать...

Определение члена класса - C++
Выдает ошибку типа оператор += не является членом класса Distance. ни могу понять include &lt;iostream&gt; using namespace std; ...

Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра? - C++
header.h template &lt;class T&gt; class MyVector { public: void swap(MyVector&lt;T&gt;Vector); } template &lt;class T&gt; void...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
06.10.2009, 18:48     Функции в качестве члена класса #2
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;
 
class fanta
{
public:
        int r1, r2, rez;   // Здесь присваивать пока нельзя, ждём C++0X
        fanta(): r1(15), r2(20) {}    // Надо сделать конструктор
        void k();
}
void fanta::k()   // Здесь надо было описать возвращаемый тип
{
        rez = r1 + r2;
}
 
int main()
{
  fanta a;
  a.k();        // Для вызова функции k надо было поставить скобки
  cout<<a.rez;   // Здесь надо было выводить член класса, а не функцию. Тем более, она не возвращает результата (void).
  cin.get();
}
Roxin
7 / 7 / 0
Регистрация: 06.10.2009
Сообщений: 21
06.10.2009, 19:14     Функции в качестве члена класса #3
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
#include <iostream>
using namespace std;
 
class fanta
{
public:
        //int r1 = 15, r2 =20, rez;  - initialization error
        int r1, r2;
        int rez;
        int k();
        fanta(int x, int y)
        {
         r1 = x, r2 = y;
        }
 
};
 
int fanta::k()
{
        rez = r1 + r2;
        return rez;
}
 
int main()
{
  fanta a(12, 33);
  cout<<a.k();
  cin.get();
}
Ответ Создать тему
Опции темы

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