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变量是否进行符号扩展。