| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | c++ recursion |
ZZ>
> class Directory {
> public:
> Directory( char * );
> virtual ~Directory() {}
> };
>
> Directory::Directory( char *pathName) {
> struct ffblk fileBlock;
> if ((fileBlock.ff_attrib & FA_DIREC) &&
> (strncmp(fileBlock.ff_name, ".", 1) != 0))
> {
> Directory(fileBlock.ff_name);
> }
> }
ZZ>
It's not particularly good design to call constructors explicitly.
For one thing the destructors for any non-trivial data members of
your class will not be called before the memory is reinitialised the
with a constructor call.
A recursive constructor like this is asking for dreadful trouble.
Make this function an ordinary member function.
Then use new char[] and strcat() to tack fileBlock.ff_name onto the
end of pathName every time that you recurse. (-:
> JdeBP <
___
X MegaMail 2.10 #0:
--- Maximus/2 2.02
* Origin: DoNoR/2,Woking UK (01483-725167) (2:440/4)SEEN-BY: 12/2442 620/243 632/348 640/820 690/660 711/409 410 413 430 807 808 SEEN-BY: 711/809 810 934 942 949 712/353 515 713/888 800/1 @PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.