Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- struct vect
- {
- int x, y;
- vect() {}
- vect(int a, int b)
- {
- x = a, y = b;
- }
- void read() // внутри определения структуры можно объявлять специальные функции - методы
- {
- // например, эта функция читает два числа и записывает их в поля x и y
- scanf("%d %d", &x, &y);
- }
- };
- int operator * (vect a, vect b) {
- // для переменных собственного типа можно переопределять арифметические операции
- // например, так можно реализовать векторное произведение
- // (теперь векторное произведение - результат применения оператора "звёздочка" к двум переменным типа vect)
- // результат имеет тип int, поэтому мы пишем "int operator * ", а дальше всё как в обычных функциях
- return a.x * b.y - a.y * b.y;
- }
- int main()
- {
- vect v1, v2;
- // обращение к методу производится след. образом: имя_структуры.метод();
- v1.read();
- v2.read();
- printf("%d", v1 * v2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement