Struktury i C++
Polimorfizm
class A{
public:
  char ma;                       
  virtual void f(){
    cout << "\n f w A \n"  ;  	
  }
};
 
class B : public A {
public:
  int mb; 
  void f(){
    cout << "\n f w B \n" ;
  }
};
 
void check( A * p){
  p->ma = 3;
  p->f();
}
 
 
_Z5checkP1A:
push	rbp
mov	rbp, rsp
sub	rsp, 16
 
mov	rax, rdi
mov	BYTE [rax+8], 3
 
mov	rax, [rax]
mov	rdx, [rax]
 
call	rdx
 
leave
ret

Przykład


Tomasz Kapela, Kraków 2011-2020