HelloWorld - wer schaffts am kompliziertesten?
-
Jo das ist meins, wer auch immer das unter "side on weed" gepostet hat
Verwendung von definierten Variablennamen:
// C++ BEGINNER TUTORIAL, LESSON 1, LISTING 1: "HELLO WORLD" #include <iostream> namespace vvWCv{typedef std::basic_ostream<wchar_t,std::char_traits<wchar_t> >v1337v;} namespace vvPCN{template<class vvS>class vvPC{protected:vvS& vS5;public:vvPC(vvS& vS): vS5(vS){}virtual void vp()=0;};namespace vvHW{vvPCN::vvPC<vvWCv::v1337v>* vHW [10+1];} namespace vvL {template<class vvS>class vvH:public vvPC<vvS>{public:vvH(vvS& vS):vvPC< vvS>(vS){}virtual void vp(){vS5.put('H');}};template<class vvS> class vve:public vvPC< vvS>{ public:vve(vvS& vS):vvPC<vvS >(vS){}virtual void vp(){vS5.put('e');}};template < class vvS>class vvl:public vvPC<vvS>{public:vvl(vvS & vS):vvPC<vvS>(vS){} virtual void vp(){vS5 .put('l');}};template<class vvS>class vvo:public vvPC<vvS>{public:vvo(vvS& vS) :vvPC<vvS> (vS){}virtual void vp(){vS5 .put('o');}};template<class vvS>class vvv:public vvPC <vvS> { public:vvv(vvS& vS ):vvPC<vvS>(vS){} virtual void vp () {vS5. put(' ');}}; template <class vvS>class vvW : public vvPC< vvS>{ public:vvW(vvS& vS):vvPC <vvS>(vS){} virtual void vp(){vS5.put('W');}};template<class vvS>class vvr:public vvPC<vvS>{public: vvr(vvS& vS):vvPC<vvS>(vS){}virtual void vp(){vS5.put('r');}};template<class vvS >class vvd:public vvPC<vvS>{public:vvd(vvS& vS):vvPC<vvS>(vS){}virtual void vp(){vS5.put('d'); }};}}int main(int vC,char**vV){vvPCN::vvHW::vHW[-0]=new vvPCN::vvL::vvH<vvWCv::v1337v>( std::wcout);vvPCN::vvHW::vHW[1]=new vvPCN::vvL::vve<vvWCv::v1337v>(std::wcout);vvPCN :: vvHW::vHW[2]=new vvPCN::vvL::vvl< vvWCv::v1337v>(std ::wcout);vvPCN::vvHW::vHW[3] = new vvPCN::vvL::vvl<vvWCv::v1337v>(std::wcout) ;vvPCN::vvHW::vHW[-5+9]=new vvPCN::vvL::vvo< vvWCv::v1337v>(std::wcout);vvPCN::vvHW::vHW[5]=new vvPCN::vvL::vvv<vvWCv::v1337v>(std:: wcout);vvPCN::vvHW::vHW[6]=new vvPCN::vvL::vvW<vvWCv::v1337v>(std::wcout);vvPCN::vvHW:: vHW[7]=new vvPCN::vvL::vvo<vvWCv::v1337v>(std::wcout);vvPCN::vvHW::vHW[7+1]=new vvPCN:: vvL::vvr<vvWCv::v1337v>(std::wcout);vvPCN::vvHW::vHW[10-+1]=new vvPCN::vvL::vvl<vvWCv:: v1337v>(std::wcout);vvPCN::vvHW::vHW[10]=new vvPCN::vvL::vvd<vvWCv::v1337v>(std::wcout) ;typedef void (vvPCN::vvPC<vvWCv::v1337v>::*vvL)();vvL vLG=vvPCN::vvPC<vvWCv::v1337v>:: vp;for(int vI=0;vI<11;++vI){((vvPCN::vvHW::vHW[vI])->*vLG)();delete vvPCN::vvHW::vHW[vI ];}return vI-11;}
Ich zeige hier im ersten Listing meines Tutorials ein simples Programm, dass aber viele Features von C++ zeigt:
- Grundlegenden Aufbau eines C++-Programms, die main()-Funktion
- Die freie Variablen- & Whitespacewahl
- Ausgabe von Zeichen mittels Streams
- Wide-Character-Ausgabe mittels der I/O-Stream-Library
- Schleifen
- Arrays
- Zeiger
- Dynamischer Speicher (new/delete)
- Namespaces
- Klassen
- Vererbung
- Polymorphie
- Templates
- Methodenpointer auf Methoden von Templateklassen
uvm.MfG SideWinder
-
Hab ich vielleicht schonmal gepostet, aber egal:
char main[] = { 0xE8, 13, 0, 0, 0, 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n' , 0x59, 0xB8, 4, 0, 0, 0, 0xBB, 1, 0, 0, 0, 0xBA, 13, 0, 0, 0, 0xCD, 0x80, 0xB8, 1, 0, 0, 0, 0xBB, 0, 0, 0, 0, 0xCD, 0x80 };
(linux/x86 only)
-
struct PerlinVarsStruct { float (*InterpolateFn)(float, float, float); } float LinearInterpolate(float a,float b,float x) { return a*(1-x) + b*x; } struct PerlinVarsStruct PerlinVars; PerlinVars.InterpolateFn = LinearInterpolate; float i1 = PerlinVars.InterpolateFn(v1 , v2 , frac_a);
-
Irgendwer ausm Chat ist ein kleiner Gauner
MfG SideWinder
-
Irgendwer aus dem Chat ist ein kleiner Lügner. Du wolltest doch schlafen gehen.
-
Irgendwer on heroin schrieb:
Irgendwer aus dem Chat ist ein kleiner Lügner. Du wolltest doch schlafen gehen.
Nö hab euch eine gute Nacht gewunschen und hab den Chat beendet
Schlafen gehen so früh? *tz*
MfG SideWinder
-
#include <conio.h> int main(){char var1 = 0;_asm {mov al,var1 add al,0x48 mov var1,al }putch(var1);_asm{mov al,var1 add al,0x19 mov var1,al }putch(var1);_asm{mov al,var1 add al,0x0b mov var1,al}putch(var1);putch(var1);_asm{mov al,var1 add al,0x03 mov var1,al }putch(var1);_asm{mov al,var1 sub al,0x4f mov var1,al }putch(var1);_asm{mov al,var1 add al,0x37 mov var1,al }putch(var1); _asm{mov al,var1 add al,0x18 mov var1,al }putch(var1);_asm{mov al,var1 add al,0x03 mov var1,al }putch(var1);_asm{mov al,var1 sub al,0x06 mov var1,al }putch(var1);_asm{mov al,var1 sub al,0x08 mov var1,al }putch(var1);_asm{mov al,var1 sub al,0x43 mov var1,al }putch(var1);}
-
#include <iostream> int main() { std::string buf(10, 0), code("++++++++++[>++++>+++" "+++++++>+++++++<<<-]>>>++.<+.+++++++..+++.<++++.<+++[>----<-]>" ".>++++++++.--------.+++.------.--------.<<+++[>++++<-]>++.<+++" "+++++++."); for(std::string::iterator i = code.begin(), end = code.end(), j = buf.begin(); i != end; ++i) switch(*i){ case '>' : ++j; break; case '<': --j; break; case '+': ++*j; break; case '-': --*j; break; case '.': std::cout << *j; break; case ',': std::cin >> *j; break; case '[': if(*j == 0) for(int x = 1;;) if (*++i == '[') ++x; else if(*i == ']') if(--x == 0) break; break; case ']': if(*j != 0) { for(int x = 1;;) if(*--i == ']') ++x;else if(*i == '[') if(--x == 0) break; --i; } break; default: break;}}
Viel Spaß beim nachvollziehen! :xmas1:
-
brainfuck?
-
otze schrieb:
brainfuck?
Röschtösch! Man könnte da noch nen Stack einbauen, aber dann sähe es wieder zu einfach aus
.
-
Leute, Codeformatierung????
Wenn man's so durchschaut, wird mein Hello World immer kleiner und einfacher
Solche Listings sind was tolles für Leute die sich "mal eben kurz C++ beibringen" lassen wollen von mir (mal abgesehen davon, dass ich ziemlich bescheidene C++ Routine/Kentnisse habe)Na klar, Lektion 1, hello world... -> schon sind sie nich' mehr so interessiert
MfG
me
-
Bashar schrieb:
Hab ich vielleicht schonmal gepostet, aber egal:
char main[] = { 0xE8, 13, 0, 0, 0, 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!', '\n' , 0x59, 0xB8, 4, 0, 0, 0, 0xBB, 1, 0, 0, 0, 0xBA, 13, 0, 0, 0, 0xCD, 0x80, 0xB8, 1, 0, 0, 0, 0xBB, 0, 0, 0, 0, 0xCD, 0x80 };
(linux/x86 only)
Und wie kompilier ich das ohne dass es Fehler gibt?
Bin kein Linux Guru, aber dafür würd ich sogar die Knoppix-CD suchen
-
Quelltext in datei.c speichern, gcc datei.c, ./a.out, Ausgabe bewundern.
Warum sollte das Fehler geben?
-
-
CSS schrieb:
http://www.c-plusplus.net/evolution.htm
MfG CSS
Ist ja in veraltetem Stil und noch dazu fehlerbehaftet
MfG SideWinder