Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony FE 16-25mm F2.8 G: meno zoom, più luce
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Il nuovo Sony FE 16-25mm F2.8G si aggiunge all'analogo 24-50mm per offrire una coppia di zoom compatti ma di apertura F2.8 costante, ideali per corpi macchina altrettanto compatti (vedi A7c ) e fotografia di viaggio.
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola è decisa sulla sua strada: questo nuovo edge 50 Pro non guarda a specifiche stellari ma considera di più l’aspetto estetico. E si propone elegantemente con linee sinuose e un sistema operativo veloce. Peccato per un prezzo un po' fuori mercato.
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace
Ecovacs allarga la sua famiglia di robot tagliaerba, ed abbiamo testato per diverse settimane il nuovo Goat G1-800. Installazione velocissima, app precisa, e lavoro infallibile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-04-2022, 10:19   #1
dileoa
Member
 
Iscritto dal: Sep 2005
Messaggi: 80
[c++] Problema con classi template

Ho progettato delle classi per gestire la cifratura a blocchi.
Le classi sono:
  1. class DBlockCipher: una classe astratta che gestisce tutte le operazioni di cifratura indipendenti dallo specifico algoritmo;
  2. template <class A, K> class DTBlockCipher: derivata da DBlockCipher , che utilizza l’algoritmo implementato dalla classe A e la relativa chiave implementata dalla classe K per effettuare la cifratura dei blocchi;
  3. template <class A, K> class DTBlockCipherFile: derivata da DTBlockCipher specializzata per cifrare i file.
Ciascuna classe ha due costruttori:
DBlockCipher:
  • DBlockCipher(){ initialize();}
  • DBlockCipher(int NewMode){ initialize(); Mode = NewMode; }
DTBlockCipher:
  • DTBlockCipher(): DBlockCipher(){ initialize();}
  • DTBlockCipher(int NewMode): DBlockCipher(int NewMode){ initialize();}
DTBlockCipherFile:
  • DTBlockCipherFile(): DTBlockCipher(){ initialize();}
  • DTBlockCipherFile(int NewMode): DTBlockCipher(int NewMode){ initialize();}
Dove initialize() è una generica funzione che inizializza la classe e int Mode è il modo di cifratura a blocchi (ECB, CBC ecc.).
La riga di codice:
Codice:
DTBlockCipherFile<DAESAlg, DAESKey> AES(CBC);
//DAESAlg classe che implementa AES 
//DAESKey classe che implementa chiavi AES
//CBC è un valore numerico (1) per eseguire la modalità CBC
pensavo che desse luogo alla sequenza di chiamate dei costruttori:
Codice:
DTBlockCipherFile(CBC) => DTBlockCipher(CBC) => DBlockCipher(CBC)
Invece la sequenza è:
Codice:
DTBlockCipherFile(CBC) => DTBlockCipher(CBC) => DBlockCipher()
Cosa ho sbagliato? Potete aiutarmi?
Grazie.
dileoa è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2022, 11:04   #2
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2275
direi che questo può esserti d'aiuto
https://stackoverflow.com/questions/...ss-constructor

in pratica, specifichi tu che ctor base chiamare nella lista di inizializzazione

Codice PHP:
DTBlockCipherFile(int mode):
DTBlockCipher(mode)

    
initialize(); 
    
Mode mode

e

Codice PHP:
DTBlockCipher(int mode):
DBlockCipher(mode)

    
initialize(); 
    
Mode mode

__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2022, 11:46   #3
dileoa
Member
 
Iscritto dal: Sep 2005
Messaggi: 80
[c++] Problema con classi template

Grazie per il suggerimento.
Ho risolto il problema chiamando il ctor interessato della classe base:
Codice:
DTBlockCipherFile(NewMode): DTBlockCipher(), DBlockCipher(NewMode) {...}
ADL
dileoa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace Ecovacs Goat G1-800, mettiamo alla prova il robo...
ASUS ProArt 1, un PC completo ad altissime prestazioni per creator e non solo ASUS ProArt 1, un PC completo ad altissime prest...
OPPO Reno11 F 5G: vuole durare più di tutti! La recensione OPPO Reno11 F 5G: vuole durare più di tut...
Ondata di sconti sui computer portatili ...
Le offerte su Google Pixel 8 e 8 Pro: ec...
Arriva TikTok Notes: ByteDance dichiara ...
WhatsApp, semplificata la ricerca delle ...
Ecco tutte le offerte sulle schede video...
Come l'IA ha aiutato ad accorciare la pr...
Prezzo bomba: portatile Medion Full HD, ...
Hala Point, Intel ha creato il sistema n...
Le svendite Amazon più interessan...
Record di vendite per il nuovo robot Nar...
Super economico o super potente? Ecco 2 ...
Boston Dynamics presenta l'evoluzione de...
Scaricati gli ultimi dati dal drone NASA...
Take-Two: dopo l'acquisizione di Gearbox...
NASA Dragonfly: la missione con il drone...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www1v