- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++程序设计 第9章.ppt
上节内容回顾;第9章 继承;9.1 继承和组合;9.1 继承的概念;继承关系;继承的分类;例1:判断下面的继承类型;例2:判断下面的继承类型;;继承的作用;派生类的声明 ;派生类对象结构 ;程序【9.1】继承举例
#include iostream
using namespace std;
class A
{
private:
int a;
protected:
int b;
public:
int c;
A( ){a = 1; b = 2; c =3;}
; void setA(int x) { a = x; }
void setB(int y) { b = y; }
void setC(int z) { c = z; }
void print()
{
cout a= a endl b= b endl
c= c endl;
}
};
class B : public A
{
public:
B() : A() { }
void output( ) {cout “b=” b endl;}
};;int main()
{
A oa;
oa.setA(6);
oa.print();
B ob;
ob.print();
ob.output();
cout sizeof A= sizeof(A) endl;
cout sizeof B= sizeof (B) endl; return 0;
};9.1.2 组合概念与语法 ;组合类的例子:
class Head // 定义Head类
{
public:
int size;
……
};
class Body // 定义Body类
{
public:
double width;
……
};;class Tail // 定义Tail类
{
public:
double length;
……
};
class Dog // 构造Dog类
{
Head head; // 创建Head类的对象
Body body; // 创建Body类的对象
Tail tail; // 创建Tail类的对象
};;9.2 继承方式;三种继承方式;9.2.1 私有继承private;class Person
{ int n;
public:
string getName() { return “Name”; }
string getSex() { return “Sex”; }
int getAge() { return 20; }
};
class Student : private Person
{
public:
string getName() {return “zhang” ;}
using Person:: getSex;
};;main()
{
Student s;
s.getName(); // 已重新定义
s.getSex(); // 可以调用,已将其声明为public成员
//s.getAge(); // 不可以调用,因为是private成员
return 0;
};9.2.2 公有继承 public;class Person
{ string name;
int age;
public:
Person() { name=“zhang”; age=20;}
string getName() { return name; }
int getAge() { return age; }
};
class Student : public Person
{
public:
display() { coutgetName()getAge()endl;}
};;main()
{
Student s;
s.getName(); // 已重新定义
s.getAge(); // 可以调用
coutdisplay();
return 0;
};9.2.3 保护成员的作用;class derive : protected base { //定义派生类 int c;
public:
void setc(int n) { c=n; }
void showabc() { cout‘ ’b‘ ’cendl;}
};
文档评论(0)