Кресты / Говнокод #26805 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
#include <iostream>
#include <string>


using namespace std;


struct A
{
    template <typename T>
    void f(const T& n); 
};

template <typename T>
void A::f(const T& n)
{
    cout << "A::f(n = " << n << ")\n"; 
}

struct B : public A
{
    template <typename T>
    void f(const T& n); 
};

template <>
void B::f<string>(const string& n)
{
    cout << "B::f<string>(n = " << n << ")\n"; 
}

int main()
{
    B b;
    b.f<string>("aaa");
    b.f<int>(3);

    return 0;
}

Какой undefined reference )))

Запостил: OlegUP OlegUP, (Updated )

Комментарии (16) RSS

    • Могу только на «PHP»:
      <?php
      
      class A
      {
          public function f($n) {
              echo "A::f(n = $n)\n"; 
          }
      }
       
      class B extends A
      {
          public function f($n) {
              if(is_string($n)) {
                  echo "B::f<string>(n = $n)\n"; 
              } else {
                  parent::f($n);
              }
          }
      }
       
      $b = new B();
      $b->f("aaa");
      $b->f(3);
      
      return 0;
      Ответить
      • Перевел на язык для умных. вроде, понятнее стало...

        use strict;
        use warnings FATAL => 'all';
        
        package A {
            sub new {
                return bless {}, shift
            }
            sub f {
                my ($self, $n) = @_;
                print "A::f(n = $n)\n";
            }
        }
        
        package B {
            our @ISA = 'A';
            sub f {
                my ($self, $n) = @_;
                if ($n =~ m/^\p{Word}+$/) {
                    print "B::f<string>(n = $n)\n";
                }
                else {
                    $self->SUPER::f($n);
                }
            }
        }
        package main;
        my $b = B->new;
        $b->f("aaa");
        $b->f(3);
        # B::f<string>(n = aaa)
        # A::f(n = 3)
        Ответить
        • #!/usr/bin/tcl
          
          ::oo::class create A {
            method f {n} {
                  puts "A::f(n = $n)"
            }
          }
          
          ::oo::class create B {
            superclass A
            method f {n} {
              if {[expr [string is integer $n] == 0]} {
                      puts "B::f<string>(n = $n)";
              } else {
                next $n
              }
            }
          }
          
          
          set b [B new]
          $b f aaa
          $b f 123
          
          
          # B::f<string>(n = aaa)
          # A::f(n = 123)
          Ответить
      • Отмена пояснительной бригады, вижу ниже "parent::f($n)", похоже принцип тот же
        Ответить
        • Так, гражданин, нарушаем? За ложный вызов вам штраф по статье 19.13 КоАП РФ: 1 000 (одна тысяча) рублей! Пройдёмте в отделение для составления протокола!
          Ответить
          • Какой милиционератор )))
            Через окна, тогда им и постучался с ним и сделал, был командии и демонянам где дают своими милиционератор учит пизды! Говорят, что можностью? Бан надел форму СС, то это нам непростой путём расстоятельно заявляли, с кабинеты вам не очень много читалий! https://govnokod.ru/16714#comment248382
            Ответить
    • Т. е. если где-нибудь пидорнут модераторы, то на них можно подать в суд?
      Ответить
  • Давайте форсить TCL. Пока анскильные пиштуки ебутся с лямбдами и указателями на функции, боги просто создают нужный код на лету, передавая туда оператор
    #!/usr/bin/tcl
    
    proc create_seq "first last operator step" {
        for "set i $first" {$i < $last} {set i [expr $i $operator $step]} {
            puts $i
        }
    }
    
    create_seq 1 10 + 1
    puts ""
    create_seq 1 10 * 2


    tcl -- вещь! Это любой пятидесятилетний питух знает
    Ответить
  • - Я так раньше никогда не делала. Мне понравилось. А тебее? - сказала она после того, как я влил в неё свой заряд и, уставший, уселся прямо на ковролин на полу кабинета.
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8