Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 13
diff options
context:
space:
mode:
Commit423a04a150dcbeaa1ac42f1e197d6faa69cc3f1d (patch)
Author
 Angel Dimitriev <angel_dimitriev@abv.bg>
2022-05-25 00:37:43 +0300
Committer
 GitHub <noreply@github.com>
2022-05-25 00:37:43 +0300
Filesd2efb73fff84a200ad9d13e8c7e6ab0e4134b1d7 /Sem. 13
Object-oriented_programming_FMI-423a04a150dcbeaa1ac42f1e197d6faa69cc3f1d.tar
Object-oriented_programming_FMI-423a04a150dcbeaa1ac42f1e197d6faa69cc3f1d.tar.gz
Object-oriented_programming_FMI-423a04a150dcbeaa1ac42f1e197d6faa69cc3f1d.zip
Parent5e09bc428bb1f3a65ee24296f9a2f0f66b8c8852 (diff)
Update README.md
1 files changed, 42 insertions, 0 deletions
-rw-r--r--Sem. 13/README.md42
diff --git a/Sem. 13/README.md b/Sem. 13/README.md
index 900e66b..925834e 100644
--- a/Sem. 13/README.md
+++ b/Sem. 13/README.md
@@ -1,5 +1,47 @@
# Колекции от обекти в полиморфна йерархия. Копиране и триене.
+
+Виртуални таблици - таблица с указатели към функции.
+
+```c++
+struct A
+{
+ int f()
+ {
+ return 1;
+ }
+ int g()
+ {
+ return 1;
+ }
+};
+
+struct B : public A
+{
+ int f() override
+ {
+ return 2;
+ }
+};
+
+struct C : public B
+{
+ int f() override
+ {
+ return 3;
+ }
+ int g() override
+ {
+ return 3;
+ }
+};
+
+
+ ```
+
+
+![enter image description here](https://i.ibb.co/VNZyrFS/vtable-2-1.png)
+
## Колекция.
Можем да реализираме колекция от различни типове (но с общ базов клас), чрез масив от указатели. Указателите трябва да са от типа на базовия клас.