wypisywanie tekstu czyli pytanie o cout

wypisywanie tekstu czyli pytanie o cout
  • Rejestracja: dni
  • Ostatnio: dni
0

witam
Kontynuuje powtórkę dotycząca klas itp. i mam pewne pytanie:

Kopiuj
#include <iostream>
#include <string> 
using namespace std;

template <class t1, class t2, class t3>
class tercet
{
      private:
              string nazwa; 
              t1     a; 
              t2     b; 
              t3     c; 
      public:
             tercet(string pierwszy, t1 drugi, t2 trzeci, t3 czwarty):nazwa(pierwszy),a(drugi),b(trzeci),c(czwarty)
             {}
             void wypisz();   
                          


};   
template <class t1, class t2, class t3>
void  tercet<t1,t2,t3>::wypisz()
             {
                  cout<<"to ja!"<<endl; 
                  cout<<"nazwa"<<nazwa; 
                  cout<<"drugi"<<t1  ; 
                  
             }     
int main()
{
    tercet<int,double,string> mieszkanka("mieszarka",10,3.14,"kowalski"); 
    tercet<char,char,char>    literki("litery",'a','b','c'); 
    mieszkanka.wypisz(); 
    literki.wypisz(); 
    
    
    
    
    
}

Takie coś jest poprawne:

Kopiuj
cout<<"nazwa"<<nazwa;

ale już takie coś nie:

Kopiuj
cout<<"drugi"<<t1  ;

dlaczego? Pojawia mi się błąd: expected primary-expession

z góry thx

06
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2440
0

Dlatego, bo t1 to typ, a nie obiekt jakiegoś typu.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

bo powinno być

Kopiuj
cout<<a;

zresztą przyjrzyj się co zadeklarowałeś:

Kopiuj
      private:
              t1     a;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.