programming_tutorials/06_threading/wip/04_primes/class.txt

181 lines
3.8 KiB
Plaintext

class PrimeFactorization
{
public:
virtual void launch(uint64_t p_num);
void check();
void print();
PrimeFactorization();
virtual ~PrimeFactorization();
bool is_prime;
uint64_t num;
bool finished;
};
//c stílus
struct PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
};
void prime_factorizatin_launch(PrimeFactorization *p, uint64_t p_num);
void prime_factorizatin_check(PrimeFactorization *p);
void prime_factorizatin_print(PrimeFactorization *p);
prime_factorizatin_PrimeFactorization(PrimeFactorization *p);
prime_factorizatin_PrimeFactorization_del(PrimeFactorization *p);
prime_factorizatin_PrimeFactorization();
//memória
struct PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
};
------------------------------------------------------------------------------------------
(1B) (8B valószínű) bool is_prime | (8B) uint64_t num | (1B) (8B valószínű) bool finihed |
------------------------------------------------------------------------------------------
PrimeFactorization pf; -> 3x8B memóriaterület
van címe
pf.is_prime -> (pf címe)
pf.num -> (pf címe) + 8B
pf.finished -> (pf címe) + 2x8B
// öröklődés
class PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
};
class PrimeFactorization : PrimeFactorizationDerived {
bool c;
};
//lesz:
struct PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
};
struct PrimeFactorizationDerived {
bool is_prime;
uint64_t num;
bool finished;
bool c;
};
PrimeFactorization
------------------------------------------------------------------------------------------
(1B) (8B valószínű) bool is_prime | (8B) uint64_t num | (1B) (8B valószínű) bool finihed |
------------------------------------------------------------------------------------------
PrimeFactorizationDerived
----------------------------------------------------------------------------------------------------
(1B) (8B valószínű) bool is_prime | (8B) uint64_t num | (1B) bool finihed | (1B) (8B valószínű) c |
----------------------------------------------------------------------------------------------------
PrimeFactorization pf; -> 3x8B memóriaterület
van címe
pf.is_prime -> (pf címe)
pf.num -> (pf címe) + 8B
pf.finished -> (pf címe) + 2x8B
pf.c -> -compiler- hibát dob!
//függvények + öröklődés
//c++
class PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
virtual void fv();
};
class PrimeFactorization : PrimeFactorizationDerived {
bool c;
};
//c
struct PrimeFactorization {
bool is_prime;
uint64_t num;
bool finished;
void *virtual_prime_factorization_fv_impl;
};
class PrimeFactorizationDerived {
bool is_prime;
uint64_t num;
bool finished;
void *virtual_prime_factorization_fv_impl;
bool c;
};
void virtual_prime_factorization_fv();
prime_factorizatin_PrimeFactorization();
//beállítja a megfelelő virtual_prime_factorization_fv_impl-b a megfelelő fvt.
PrimeFactorization pf; -> compiler meghívja a virtual_prime_factorization_fv fvt.
//assembly fv hívás
P:
...
ret
R:
...
call P
push
pop
//
new, vagy c malloc
//
PrimeFactorization data[4];
------------------------------------------------------------------------------------------
(1B) (8B valószínű) bool is_prime | (8B) uint64_t num | (1B) (8B valószínű) bool finihed | x4
------------------------------------------------------------------------------------------
x. elem: PrimeFactorization méret * x
PrimeFactorization *data[4];
--------------------------
(8B) PrimeFactorization * | x4
--------------------------