10.7 练习
1.使用第8章“继承”中的Rectangle类,根据下面的声明增加一个初始化方法:
-(Rectangle*)initWithWidth:(int)w andHeight:(int)h;
2.假设将练习1中的初始化方法标记为Rectangle类的指定初始化方法,根据第8章定义的Square和Rectangle类,结合下面的声明,为Square类增加一个初始化方法:
-(Square*)initWithSide:(int)side;
3.为Fraction类的add:方法增加一个计数器来计算它的调用次数。如何获取这个变量的值?
4.使用typedef和枚举数据类型定义一个名为Day的类型,可能的值为Sunday、Monday、Tuesday、Wednesday、Thursday、Friday和Saturday。
5.使用typedef和枚举数据类型定义名为FractionObj的类型,该类型允许你编写如下语句:
FractionObj f1=[[Fraction alloc]init],
f2=[[Fraction alloc]init];
6.根据下面的定义
float f=1.00;
short int i=100;
long int l=500L;
double d=15.00;
和本章讲解表达式中操作数类型转换时列举的7个步骤,确定以下表达式的类型和值。
f+i
l/d
i/l+f
l*i
f/2
i/(d+f)
l/(i*2.0)
l+i/(double)l
7.编写一个程序,确定在计算机上有符号的char变量是否进行符号扩展。