C++中的OOD:只有一个方法的类?

0 c++ methods class function object-oriented-analysis

我正在编写一个用C++编写的程序,并考虑到面向对象设计,它将二手车记录在数据库中.我有一个按年份对汽车进行排序的功能,但该功能应该是自己的类中的方法,汽车类中的方法,还是任何类之外的函数?我们被告知,在面向对象设计中,一切都应该在它自己的类中,并且每个类应该只有一个责任,所以我倾向于将函数作为一个方法在它自己的类中,但似乎没有必要.我该怎么办?

Bet*_*eta 5

它本身应该是一个函数,而不是任何类的成员.像这样的东西:

void sortCars(Car * lot, unsigned int numCars)
  ...
Run Code Online (Sandbox Code Playgroud)

在没有其他成员的类中包装它是没有意义的; 这样做可以解决没有问题,也不会变得更容易.

将它作为成员是没有意义的Car,这样做可以让它访问它不需要的类的私有成员,这就是要求麻烦.

"一切都应该属于自己的类"是一个粗略的准则,更适用于名词(Car)而不是动词(sortCars).