В C ++ объект производного класса может быть назначен объекту базового класса, но другой способ невозможен.
class Base { int x, y; };
class Derived : public Base { int z, w; };
int main()
{
Derived d;
Base b = d; // Object Slicing, z and w of d are sliced off
}
Обрезка объектов происходит, когда объект производного класса присваивается базе объект класса, дополнительные атрибуты объекта производного класса вырезаются для формирования объекта базового класса.
Эй, вы можете сделать это с помощью таких параметров, как этот
Вы можете сделать что-то вроде этого
<div class="projects">
<div class="w-33" id="first-project">
<a class="learn-more" onclick="changeclass(this)">Learn More</a>
</div>
<div class="w-33" id="second-project">
<a class="learn-more" onclick="changeclass(this)">Learn More</a>
</div>
<div class="w-33" id="third-project">
<a class="learn-more" onclick="changeclass(this)">Learn More</a>
</div>
</div>
<script>
function changeclass(elem) {
let allDivs = document.querySelectorAll('.projects > div');
for(let oneDiv of allDivs) {
oneDiv.className = "w-20";
}
elem.parentNode.className = "w-60";
}
</script>