mirror of
https://github.com/Relintai/programming_tutorials.git
synced 2025-04-25 21:55:03 +02:00
181 lines
3.8 KiB
Plaintext
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
|
|
--------------------------
|