Hi,
mir ist es eben auf den Keks gegangen bei jeder neuen Klasse die eine Headerdatei hat immer diese ifndef etc eintippen zu müssen.
Dieses miniscript (bei mir newclass.pl genannt) erzeugt 2 Dateien, eine .c und eine .h und trägt die wichtigsten Sachen ein.
Perl
#!/usr/bin/perl -w
use strict;
use diagnostics;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time());
my $comment = sprintf("Generated by newclass.pl (%04d-%02d-%02d %02d:%02d:%02d)\n",$year+1900,$mon+1,$mday,$hour,$min,$sec);
my $name=$ARGV[0];
my $codename=lc($name.".c");
my $headername=lc($name.".h");
my $classname="c".$name;
my $tmp;
#writing codefile
open FILE,">$codename";
$tmp=ucfirst(lc($name));
print FILE "// ".$comment."\n";
print FILE "#include \"$headername\"\n";
print FILE "\n";
print FILE "\n";
print FILE "// Constructor\n";
print FILE "".$classname."::".$classname."() {\n";
print FILE "}\n";
print FILE "\n";
print FILE "// Destructor\n";
print FILE "".$classname."::~".$classname."() {\n";
print FILE "}\n";
close FILE;
#writing headerfile
$tmp=uc($name);
open FILE,">$headername";
print FILE "// ".$comment."\n";
print FILE "#ifndef __".$tmp."_H\n";
print FILE "#define __".$tmp."_H\n";
print FILE "\n";
print FILE "class ".$classname." {\n";
print FILE "public:\n";
print FILE "\n";
print FILE " ".$classname."(void);\n";
print FILE "public:\n";
print FILE " ".$classname."(void);\n";
print FILE " ~".$classname."(void);\n";
print FILE "};\n";
print FILE "\n";
print FILE "#endif\n";
close FILE;
Alles anzeigen
erzeugt dann eine neueklasse.c:
C
// Generated by newclass.pl (2007-09-25 12:09:20)
#include "neueklasse.h"
// Constructor
cNeueKlasse::cNeueKlasse() {
}
// Destructor
cNeueKlasse::~cNeueKlasse() {
}
Alles anzeigen
und eine neueklasse.h
Code
// Generated by newclass.pl (2007-09-25 12:09:20)
#ifndef __NEUEKLASSE_H
#define __NEUEKLASSE_H
class cNeueKlasse {
public:
cNeueKlasse(void);
~cNeueKlasse(void);
};
#endif
Alles anzeigen
Diese müssen dann natürlich noch programmiert werden
Ist nur für Tippfaule.