#include using namespace std; typedef const char * String; typedef unsigned short ushort; class Student{ public: String Name; float CGPA; Student(String name, float cgpa):Name(name),CGPA(cgpa){ /*Another 100+ lines of common initialization logic*/ } //Student():Name(""),CGPA(0.0F){ Student():Student("",0.0F){ } }; class Lecturer{ public: String Name; double Salary; float Allowance; Lecturer(String name, double salary, float allowance): Name(name),Salary(salary),Allowance(allowance){ } }; class Clerk{ public: String Name; double Salary; ushort OTHours; float OTRate; Clerk(String name, double salary, float otRate): Name(name),Salary(salary),OTRate(otRate){ OTHours = 0; } }; int main(){ Student s1("Tong Sam Pah",3.7F); Student *ps = new Student("Yong Tau Foo", 2.8F); ps->CGPA = 3.1F; ps[0].CGPA = 3.2F; Student *pss = new Student[5]; delete[] pss; delete ps; return 0; }