Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Apple MacBook Air M3: chi deve davvero comprarlo? La recensione
Apple MacBook Air M3: chi deve davvero comprarlo? La recensione
A distanza di circa 8 mesi arriva l’importante aggiornamento dei MacBook Air: nessun cambiamento estetico, ma una revisione hardware interna con l’upgrade al processore M3. Le prestazioni migliorano rispetto alle generazioni precedenti, e questo fa sorgere una domanda spontanea: a chi è rivolto oggi questo laptop? Cerchiamo di capirlo nella nostra recensione 
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
Da ASUS un monitor particolare ma molto completo: principalmente indirizzato al videogiocatore, può essere sfruttato con efficacia anche per attività creative e di produzione multimediale
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Il nuovo robot aspirapolvere domestico di Dreame abbina funzionalità complete a un moccio flottante che raggiunge al meglio gli angoli delle pareti. Un prodotto tutto in uno semplice da utilizzare ma molto efficace, in grado di rispondere al meglio alle necessità di pulizia della casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-04-2022, 11: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, 12: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, 12: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


Apple MacBook Air M3: chi deve davvero comprarlo? La recensione Apple MacBook Air M3: chi deve davvero comprarlo...
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ul...
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza Dreame L10s Pro Ultra Heat: la pulizia di casa t...
HONOR Magic6 Pro: come funziona Magic Portal, il modo ''intelligente'' di condividere HONOR Magic6 Pro: come funziona Magic Portal, il...
L'innovazione richiede fiducia: Workday si propone come guida nell'era dell'IA L'innovazione richiede fiducia: Workday si propo...
RocketStar FireStar Drive: un propulsore...
Roscosmos: il lancio del razzo spaziale ...
Italia strategica per Oracle. Arriva la ...
Sam-Bankman Fried: 25 anni di reclusione...
Mobility Analytics di WINDTRE Business p...
Il lander lunare JAXA SLIM si è r...
Warframe conquista l'iPhone: senza soluz...
Marvel Rivals!, l'inaspettato shooter Pv...
Twitch aggiorna le linee guida sui conte...
Galaxy M55 ufficiale: la nuova fascia me...
Google corregge sette vulnerabilit&agrav...
IA: le imprese italiane sono in prima li...
Garmin Dash Cam 57: un'alleata perfetta ...
Elgato Facecam MK2: come rendere ancora ...
2 iRobot Roomba al prezzo più sco...
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: 23:59.


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