home *** CD-ROM | disk | FTP | other *** search
- // ex03007.cpp
- // Home-brew new and delete with character fill
- #include <iostream.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stddef.h>
-
- // ------------- overloaded new operator
- static void *operator new(size_t size, int filler)
- {
- void *rtn;
- if ((rtn = malloc(size)) != NULL)
- memset(rtn, filler, size);
- return rtn;
- }
-
- // ----------- overloaded delete operator
- static void operator delete(void *type)
- {
- free(type);
- }
-
- main()
- {
- // ------ allocate an asterisk-filled array
- char *cp = new ('*') char[10];
- // ------ display the array
- for (int i = 0; i < 10; i++)
- cout << " " << cp[i];
- // ----- release the memory
- delete cp;
- }