I'm in the process of designing a console personal/business finance package for Linux. It's easy to identify the advantages of data abstraction through classes, but I'm not inclined to become proficient with STL or containers. Exception handling may become a consideration, but definitely memory allocation via "new". My own implementation of a doubly linked list will also be part of this to facilitate my version of a relational database.
Logic dictates as "C" is a subset of "C++" there won't be a problem, but I would appreciate any opinions where my rationale might be flawed. GUI is also of no consequence.