🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.c
Article #4539

constructor

#4539
From: Hiroyoshi Shibata
Date: Fri, 05 Jun 1992 12:33
109 lines
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!shibata

Show 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