阿牛哥C++笔记---7
来源:互联网 发布:手机淘宝注册账号 编辑:程序博客网 时间:2024/05/17 02:55
第三十六讲 派生类
定义派生类格式
class 派生类名:继承方式 基类名
{
派生类函数;
派生类数据;
};
继承方式:派生类如何继承基类的方法
public
protected
private
三种
class Cfather
{
public:
void fatherskin();
protected:
void childvisit();
private:
int age;
}
说明一下protected的访问控制属性
可以被Cfather类,以及其派生类的成员访问,但不能够被
Cfather这个本类的对象及其派生类的对象访问,更不能被类
外面的其它成员和函数进行访问
将基类继承过来的
例如
class Cfather
{
public:
void fatherskin();
private:
int age;
};
class Cchild:public Cfather
{
public:
void childskin();
private:
char sex;
};
采用public继承方式来的基类的成员
public仍然是public
protected仍然是protected
有一点private什么继承方式都不会被继承
第三十七讲 派生类(二)
class Cfather
{
public:
void fatherskin();
protected:
char name[];
private:
int age;
};
class Cchild:public Cfather
{
public:
void childskin();
private:
char sex;
};
当继承方式为public时候
继承来的public和protected的属性不发生变化
当继承方式为protected时
继承来的public和portected的属性都是protected
当继承方式为private时
继承来的public和portected的属性都是private
protected和private成员只能被本类的成员访问,不能被类外
的成员以及本类的对象访问
区别在于,派生类可以继承protected,不能继承private
public对任何对象公开
protected半公开,本类的成员,及继承类的成员公开,对类
对象就不能被访问
private是完全私有的
只能被本类的成员所访问,对派生类是不可见,对类外面的对
象也是不可见的
第三十八讲 实验 派生类
#include <iostream.h>
class Cparent
{
public:
int x;
protected:
int y;
private:
int z;
};
class Cchild: public Cparent
{
public:
void visitx(int xx);
void visity(int yy);
// void visitz(int zz);
};
class Csunzi: public Cchild
{
public:
void visityy(int yy);
};
void Csunzi::visityy(int yy)
{
y = yy;
}
void Cchild::visitx(int xx)
{
x = xx;
}
void Cchild::visity(int yy)
{
y = yy;
}
/*
void Cchild::visitz(int zz)
{
z = zz;
}
*/
void main()
{
Csunzi sn;
sn.visityy(2);//能够被派生类的成员所访问
Cchild cd;
cd.y = 0; //'y' : cannot access protected
member declared in class 'Cparent'
}
- C++plus笔记7
- C复习笔记(7)-7.4
- C复习笔记(7)-7.4
- C语言学习笔记(7)
- C语言学习笔记7
- c语言学习笔记7
- C语言学习笔记7
- C语言学习笔记7
- C语言学习笔记7
- C语言复习笔记 7
- C - 笔记
- c笔记
- c笔记
- C 笔记
- c 笔记
- C笔记
- C笔记
- C笔记
- title005
- 巧用代码追女程序员之二:关掉你的防火墙
- ACM需要掌握的知识
- 阿牛哥C++笔记---6
- 巧用代码追女程序员之三:需求分析
- 阿牛哥C++笔记---7
- 巧用代码追女程序员之四:超时处理
- MYSQL 字符集问题
- UML学习个人总结——ROSE使用
- 32个SEO方法提高网站的流量
- ddd
- 为什么按积分规则我的积分不能加
- 比较著名的.net技术论坛名称(含国外的)
- CSDN可不可以改为CSHDN