文档详情

C++重修讲义.doc

发布:2016-12-24约7.17千字共20页下载文档
文本预览下载声明
2016-11-6 第4次课 讲义 定义类的基本方法: (1)定义数据 数据访问属性一般是私有 (2)定义方法 方法的访问属性一般是公有。 (3)方法一定有这么些方法: a.Get方法。例如:GetName();GetSex();… b.Set方法。例如:SetName(char name[]), SetSex(char sex)… c.display方法。//---不是一定。 d.构造函数. 1.派生和继承的定义 单继承 Student student1 Class Student { } 多重继承马和驴 2.声明方式 3.派生类的构成 (1)从基类接受 (2)调整属性 (3)自身定义 4.派生类成员的访问属性 (1)公有继承public 在基类访问属性 继承方式 派生类中的访问属性 Private public 不可访问 protected public protected public public public public的继承方式,是最弱的限制的方式。 因此:对于基类中, 外部不可访问的private,这些成分,在派生不可访问; 基类中protected的成分,派生类中可以访问到,并且必须标记为:protected; 基类中的public成分,在派生类中可以访问,还是public。 (2)保护继承protected 在基类访问属性 继承方式 派生类中的访问属性 Private protected 不可访问 protected protected protected public protected protected (3)私有继承private 在基类访问属性 继承方式 派生类中的访问属性 Private private 不可访问 protected private private public private private 思考题: 对上述思考题的一个举例。 #includeiostream #includestring using namespace std; class Father { private: int money; protected: int food; public: void display1() { coutmoneyfood; } }; class Son:public Father { private: int score; protected: int clothes; int food; public: Father f1; void display() { coutscoreclothes; display1();//这是自己真正的基类的public成分的访问; coutfood;//这是自己真正的基类的protected成分的访问; coutf1.food;//错误!f1不是自己的基类,只是恰好和自己的基类同类型而已。 } void display1() { coutmoneyfood; } }; int main() { return 0; } //以下是包含一个子对象的构造函数的创建。 #includeiostream #includestring using namespace std; class Father { private: int money; protected: int food; public: Father(int money, int food) { this-money=money; this-food=food; } void display1() { coutmoneyfood; } }; class Son:public Father { private: int score; Father f1; protected: int clothes; public: Son(int score, int money, int food, int money1, int food1):f1(money1, food1) , Father(money, food) { this-score=score; } void display() { } }; int main() { Son(); return 0; } 5.派生类的构造函数和析构函数 派生类构造函数的定义原则: (1)如果派生类有两个自定义数据,基类有三个, 那么派生类有参构造函数应该有五个参数。 创建派生类对象的时候,应该准备传入五个常量; 步骤
显示全部
相似文档