Article View: fj.lang.c
Article #4539constructor
From: Hiroyoshi Shibata
Date: Fri, 05 Jun 1992 12:33
Date: Fri, 05 Jun 1992 12:33
109 lines
2962 bytes
2962 bytes
$@<FED!wL@<#Bg3X$G$9!#(J
$@$^$?$^$?(JC++$@$K4X$9$k<ALd$G$9!#(J
$@0J2<$N$h$&$K%/%i%9$H$=$NGI@8%/%i%9$rDj5A$7(J$@$?$H$7$^$9!#(J
class A {
.....
public:
A(int) {...}
...
...
};
class B : public A {
public:
$@%/%i%9(JB$@$K$O%3%s%9%H%i%/%?$,$J$$!#(J
...
};
$@>e$N$h$&$KDj5A$5$l$?>l9g%/%i%9(JB$@$N%*%V%8%'%/%H$r<!$N(J$@$h$&$K(J
$@=i4|2=$G$-$J$$$N$G$7$g$&$+!)(J
main()
{
B b1(12); //$@$3$3$G(JA::A(12)$@$,8F$P$l$k$N$G$O(J
// $@$J$$$N$G$7$g$&$+!)(J
}
$@<B$O8=:_!"<!$N$h$&$J%W%m%0%i%`$r:n$C$F$$$^$9!#(J
#include <stream.h>
enum Bool{false, true};
typedef int SymValue;
struct Symbol {
char* name;
SymValue value;
Symbol* next;
};
class SymTable {
protected:
Symbol** table;
int size;
int Hash (char*);
public:
friend SSymTable;
SymTable(int);
~SymTable();
};
class SSymTable : public SymTable {
//....
};
SymTable::SymTable(int sz)
{
if (sz <= 0) {
size = 0;
table = 0;
} else if ((table = new Symbol*[size = sz]) != 0)
for (int i = 0; i < size; ++i)
table[i] = 0;
else
size = 0;
} /* SymTable */
SymTable::~SymTable()
{
for (int i = 0; i < size; ++i)
for (Symbol*sym = table[i],*tmp; sym;) {
sym = (tmp = sym)->next;
delete tmp->name;
delete tmp;
}
if (size > 0)
delete table;
} /* ~SymTable */
int SymTable::Hash(char* name)
{
int slot = 0;
while (*name)
slot += *name++;
return slot % size;
} /* Hash */
main()
{
SymTable tab(16);
SSymTable stab(16);
}
$@%7%s%\%k%F!<%V%k$r:n$k%W%m%0%i%`$G$9!#GI@8$7$?%/%i%9$NJ}$O%j%s%/%H%j(J$@%9%H(J
$@$NCf?H$,%=!<%H$5$l$k$h$&$K$J$C$F$$$^$9!#(J
main$@$NCf$N(JSSymTable stab(16); $@$N$H$3$m$G(J"constructor needed for
SSymTable , base class SymTable has constructor"
$@$H$$$&%(%i!<%a%C%;!<%8$,$G$^$9!#(J
$@$b$7$+$7(J$@$?$i%W%m%0%i%`$N$=$l0J30$NItJ,$,$*$+$7$$$N$+$b$7$l$^$;$s$N$G(J
$@%=!<%9$rA4It:\$;$^$7$?!#(J
$@;d<+?H$b(JC++ REFERENCE MANUAL$@$J$I$GD4$Y$?$N$G$9$,!"$I$&$7$F$b$o$+$j$^$;$s!#(J
$@$b$7!I$3$3$,$*$+$7$$!I$H$$$&ItJ,$,$"$C$?$i(J$@%U%)%m!<!"$b$7$/$O;d$KD>@\%a%$%k$r(J
$@$*4j$$$7$^$9!#(J
--
$@<FED9@7=!wL@<#Bg3XM}9)3X(J$@It(J
E-mail: shibata@cs.meiji.ac.jp; ee97035@isc.meiji.ac.jp
Technical Details
Message-ID:
<SHIBATA.92Jun5213344@rose.cs.meiji.ac.jp>Path:
arc1-ca.pugleaf.net!sparky!uunet!ccut!sh.wide!wnoc-tyo-news!toumon!wsdnws!mjugwy!mjucscom!shibataShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 106434,7657cdf07311aecd,start X-Google-Attributes: gid106434,public X-Google-ArrivalTime: 1992-06-04 15:19:12 PST Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!sh.wide!wnoc-tyo-news!toumon!wsdnws!mjugwy!mjucscom!shibata From: shibata@cs.meiji.ac.jp (Hiroyoshi Shibata) Newsgroups: fj.lang.c Subject: constructor Message-ID: <SHIBATA.92Jun5213344@rose.cs.meiji.ac.jp> Date: 5 Jun 92 12:33:44 GMT Reply-To: shibata@cs.meiji.ac.jp Distribution: fj Organization: Dept. of Computer Science, Meiji University, Japan. Lines: 109 Nntp-Posting-Host: rose