Šta je novo?

C++ pomoć

Markic

Slavan
Učlanjen(a)
15.02.2013
Poruke
4,246
Poena
475
Moja oprema  
Laptop
Macbook Air M1, HP Pavilion 17
Mobilni telefon
Google Pixel 8 Pro
Pametni uređaji
Galaxy Watch 4 Classic
Pristup internetu
  1. Kablovski internet
Učim u poslednje vreme c++, pa mi treba mala pomoć, kako bih mogao da napravim klasu koja je sastoji od dva pointera na podatke nekog tipa, a da se taj tip zada prilikom pravljenja klase, pa da onda ta klasa recimo može da proveri da li oba pokazivača pokazuju na isti podatak i da recimo ispiše podatke na koje pokazuju pokazivači u cout.

Pretpostavljam da bih ovu klasu morao definisati kao <template>, međutim ja nešto u implementaciji očito ne radim kako treba, budući da dobijem masu grešaka.

Takođe me buni to što nailazim na netu na informacije da tip pointera ne može da se deklariše kao template, pa me i zanima dal je uopšte moguće to izvesti na način na koji sam zamislio?

Sent from my Nokia 7 plus using Tapatalk
 
Ako sam dobro razumeo, ovako mozes da definises klasu:

Kod:
template <class T>
class Foo {
public:
    T* a;
    T* b;
    bool equal() {
        return a == b;
    }
    
    bool equal2() {
        return *a == *b;
    }
};

Prvi equal() proverava da li su pointeri isti, a equal2() da su vrednosti/objekti na koji pokazaju isti.

Onda mozes da istanciras klasu sa bilo kojim tipom koji podrazava == operator, npr:

Kod:
Foo<int> foo;
int a = 10;
int b = 10;
foo.a = &a;
foo.b = &b;
    
cout << foo.equal2() << endl;
 
Poslednja izmena:
Hvala vam, rešen problem!
 
Nazad
Vrh Dno