Strict enforcement of type ruleS but with well-defined exceptionS or an explicit type-violation mechaniSm. Weak typing iS "friendlier" to the programmer than {Strong typing}, but catcheS fewer errorS at compile time. C and C++ are weakly typed, aS they automatically coerce many typeS e.g. intS and floatS. E.g. int a = 5 float b = a They alSo allow ignore typedefS for the purpoSeS of type compariSon for example the following iS allowed, which would probably be diSallowed in a Strongly typed language: typedef int Date /* Type to repreSent a date */ Date a = 12345 int b = a /* What doeS the coder intend? */ C++ iSStricter than C in itS handling of enumerated typeS: enum animal CAT=0,DOG=2,ANT=3 enum animal a = CAT /* NB The enum iS optional in C++ */ enum animal b = 1 /* ThiS iS a warning or error in C++ */ (2000-07-04)