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

Операторы классов и структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ масив-> List http://www.cyberforum.ru/cpp-beginners/thread175253.html
как с STL можно масив указатилей переделать в лист указателей? там полностью програма которою нужно переделать в класе vizok есть масив указателей а нужно лист не знаю как ето сделать( #include<iostream> #include<algorithm> #include<string> using namespace std;
C++ из delphi переделать в c++ написала текст программы на delphi.Очень нужно эту же программу написать на С++ с такими же функциями и процедурами. условие задачи:Для каждой строки матрицы А(4*5) вычислить сумму и колличество отрицательных элементов,а для каждой строки матрицы В(3*7)-сумму и колличество элементов,значения которых меньше 5. Program zad22; type matr=array of real; var a,b:matr; sum:real; kol:integer; http://www.cyberforum.ru/cpp-beginners/thread175251.html
C++ Определить максимальное из чисел, встречающихся в заданной матрице более одного раза
Дана целочисленная прямоугольная матрица.Определить: Максимальное из чисел, встречающихся в заданной матрице более одного раза Добавлено через 58 секунд Надо срочно решить за 10 мин.
Определить количество строк матрицы, не содержащих ни одного нулевого элемента C++
Дана целочисленная прямоугольная матрица.Определить: 1)Количество строк ,не содержащих ни одного нулевого элемента. 2) Максимальное из чисел, встречающихся в заданной матрице более одного раза
C++ оператор присваивания http://www.cyberforum.ru/cpp-beginners/thread175211.html
Привет всем ! Каким образом вызывается оператор присваивания, например, здесь: a = "I "; если в аргументе char*, а в операторе присваивания const String&. Может быть дело в operator char*(), но в ответе operator char() вызывается после присваивания: Компилятор выводит : Vizivaetsja operator prisvaivanija Vizivaetsja operator prisvaivanija Vizivaetsja operator prisvaivanija
C++ матрица Дана целочисленная прямоугольная матрица.Определить: 1)Количество строк ,не содержащих ни одного нулевого элемента. 2) Максимальное из чисел, встречающихся в заданной матрице более одного раза подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,390
12.10.2010, 02:28     Операторы классов и структур
Lavroff, positron, ну еще и статические поля:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
struct st
{
    static const size_t field = 15;
};
 
class cl
{
public:
    static const size_t field = 10;
};
 
int main()
{
    std::cout << st::field - cl::field << std::endl;
    return 0;
}
amatorIP, все эти операторы нужны для доступа к определенному методу или полю структуры и класса.
"::" нужен, когда нужно получить доступ к статическому методу или полю, не создавая экземпляра класса (или структуры), как показано выше: мы вычисляем разность статических полей структуры и класса и при этом не создаем не одного их экземпляра. В таких случаях классы и структуры действительно работают как пространства имен. То же самое происходит и с объявлениями внутри классов/структур:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
class foo
{
public:
    typedef int bar;
};
 
int main()
{
    foo::bar x = 42;
    std::cout << x << std::endl;
    return 0;
}
"->" используется для доступа к полю/методу указателя на объект структуры/класса, "." - для доступа к полю/методу объекта структуры/класса:
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>
 
class foo
{
public:
    virtual void show() const
    {
        std::cout << "This is foo" << std::endl;
    }
};
 
class bar: public foo
{
public:
    void show() const
    {
        std::cout << "This is bar" << std::endl;
    }
};
 
int main()
{
    foo f; // Переменная типа foo
    f.show();
    foo* pf = new bar; // Указатель на переменную типа foo
    pf->show();
    delete pf;
    return 0;
}
 
Текущее время: 22:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru