object-c协议有关问题

object-c协议问题
我有2个问题,望解答:

问题1:
我定义了一个协议

#import <Foundation/Foundation.h>
@protocol  B
    -(void) sleep ;
    -(void) eat   ;
    -(void) work  ;
@end

现在让 C.h来实现:

#import "B.h"
@interface C : <B>//报错!!!
@end

报错了:@interface C : <B>
然后模仿网上的@interface C :NSObject <B>就对了
问题:
     问题1-1:于是,我自己随便定义了一个A class,然后@interface C : A<B>就对了,谁能给解释下?
     问题1-2:@interface C : A<B>这里A<B>代表啥意思呢?
-------------
问题2:
我有一个class A,
A.h里面写了一个-(void) display;
A.m实现display,为了方便,我又在A.m中写了个 -(void)do{。。。}
然后报错了,
报错提示说:隐式声明的do函数是无效的-(void)do 【原文:implicit declaration of function 'do' is invalid in C99】
请问,怎么在A.m中修改呢,望指教?
-------------------
2个问题,OBJCET-C 学了2天得菜鸟求指教 !
------解决方案--------------------


所有oc类都必须从 NSObject派生。
------解决方案--------------------

@interface C : A<B>---> C 从A派生,并实现协议B.

- (void) do  -->>换个名字,,,do貌似是关键字。
------解决方案--------------------
楼主如果不想继承某个类,这样写@interface C <B>应该OK!你不继承要:干嘛