Found in the documentation for the 1984-5 release of CFront, the first C++ compiler:
The constructor can be written like this:
vec.vec(int lb, int hb) : (hb-lb+1) { if (hb-lb<0) hb = lb; low = lb; high = hb; }
The construct : (hb-lb+1) is used to specify the argument list needed for the base class constructor vector().
Makes sense, if you think about it. Presumably the explicit naming of the base class was added to support multiple inheritance. (At the time there was no support for member initializer lists — members were unconditionally default-constructed — so before multiple inheritance there was exactly one thing a constructor could initialize there.)
Credit to http://www.softwarepreservation.org/projects/c_plus_plus/ for archiving the documents.
…and wow, I just now realized that “CFront” was a play on words.