1.是否需要一个构造函数?
一般都是要的。除非类比较简单。
2.数据成员是否是私有的?
如果是私有的,那么是否需要通过函数进行设置?选取一种合适的读写函数的风格。
3.类是否需要无参构造函数?
如果没有无参构造函数,如下的写法就会报错:
1
//类定义
2
Class Point
{
3
public:
4
Point(int a, int b):x(a), y(b)
{}
5
//
.
6
private:
7
int x,y
8
};
9
10
//调用代码
11
Point p; //Error!
12
13
Point pa[5]; //Error!
14
4.每个构造函数是否都能初始化所有数据成员?
确保对象被构造出来后拥有一个正确的状态。
5.类需要析构函数吗?
6.类需要虚析构函数吗?
如果需要对指向子类对象的父类指针调用delete,就需要有虚析构函数。
7.类是否需要复制构造函数和赋值操作符?
8.赋值操作符能否正确的把对象赋值给对象本身?
9.类是否需要定义关系操作符?
10.删除数组时是否用了delete[]?
11.复制构造函数和赋值操作符是否在参数中加入了const?
12.如果函数有引用参数,是否应该是const引用?
posted on 2008-06-17 10:38
小石头 阅读(296)
评论(0) 编辑 收藏 引用