"类的定义注意事项与C语言入门课件"

需积分: 10 1 下载量 12 浏览量 更新于2024-01-10 收藏 2.77MB PPT 举报
在定义一个类时,需要注意以下几点。首先,类具有封装性,意味着类中的成员数据不能使用关键字extern、auto或register来限定其存储类型。其次,在定义类时,只是定义了一种数据类型,而没有为类分配存储空间,因此,在定义类的数据成员时,不能对其进行初始化。例如,在定义一个Test类时,下面的代码是不允许的: ```cpp class Test { int x = 5, y = 6; // 不允许在定义类时对数据成员进行初始化 extern float x; // 不允许使用extern关键字 }; ``` 此外,在函数定义时可以为参数指定缺省的值。举个例子,有一个求阶乘的函数fac,允许参数n有一个缺省值为2。当调用函数时,如果明确给出了实参的值,那么就使用给定的实参值;如果没有给出实参值,则使用缺省值。下面是一个简单的示例: ```cpp int fac(int n = 2) { int t = 1; for(int i = 1; i <= n; i++) t = t * i; return t; } int main(void) { cout << fac(6) << endl; // 输出:720 cout << fac() << endl; // 输出:2 } ``` 同样地,具有缺省参数值的函数也需要注意一些细节。首先,不可以靠左边缺省,也就是说,如果给某个参数指定了缺省值,那么该参数右边的所有参数都必须有缺省值。其次,在函数原型的声明中,可以不加变量名,只写类型。最后,当调用具有缺省参数的函数时,需要注意给出实参的位置应与形参的位置对应。下面是一个计算长方形面积的函数area,它有两个参数,分别是长和宽,其中长的缺省值为4,宽的缺省值为2。示例代码如下: ```cpp int area(int long = 4, int width = 2) { return long * width; } void main(void) { int a = 8, b = 6; cout << area(a, b) << endl; // 输出:48 cout << area(a) << endl; // 输出:16 cout << area() << endl; // 输出:8 } ``` 总结起来,在定义一个类时要注意封装性和初始化成员数据的限制;在定义具有缺省参数值的函数时,需要注意参数的位置对应以及是否靠左边缺省的问题。以上是对于"C 入门课件"中关于类和具有缺省参数值的函数定义的总结。