C++的封装浅析

本文介绍了C++中的封装概念,通过示例解释了struct和class的使用,以及成员函数的声明。提到了C++的权限控制,如public、private和protected,并探讨了继承和多继承的概念,强调了权限在继承过程中的影响。此外,还讨论了结构体和类在继承中的差异。
摘要由CSDN通过智能技术生成

front record

真的要学好英语,不要中途放弃,维持这种状态,即鼓励我自己也鼓励陌生人,当你看到英文注释的时候,请不要划走,耐着性子看完,即便被人嘲笑中式英文,那又怎么样,总比只会26个字母要强,坚持下去,bear up。我的笔记帮助我温习也可以略微帮助到别人

hello,ladies and gentlemen

today we"ll talk about C++ encapsulation

let's start with the following code

struct person//创建一个名字为person的结构体

{

char name[32]//声明一个字符数组

int age;//声明一个int类型的变量

void personEat()//声明一个无参数的成员函数

{

cout<<name<<"在吃人饭"<<endl;//函数方法

}

struct dog

{

           char name[32];

             int age;

            void dogEat()

             {

             cout<<name<<"在吃狗饭<<endl;

               }

};

C++ encapsulation idea:attribute and behavior as a whole,show things in life

added permission control attribute and behavior

let's move on

void test()

{

struct person p;

strcpy(p.name,"cat")//这里是一个难点,尤其对于初学者而言,strcpy是一个拷贝字符串的函数,,左边是拷贝到哪里去的,右边是被拷贝的,也就是吧cat这个字符拷贝到name那个数组里头

p.personEat()对象访问了结构体的函数。

}

let‘s talk about struct and class

class  default permission is private permission,but struct default permission is public permission.

这俩个没什么大的区别,class多了个权限,分别是

public 公共权限,成员,类内,类外都可以访问到,就像马路上的水泥一样,谁都可以踩一脚。

private 私有权限 ,成员 类内可以访问,类外不可以访问,在继承中,儿子不可以访问你父亲的protected的权限内容。

protected 保护权限,成员类内可以访问,类外不可以访问,在继承中,儿子可以访问父亲的protected的权限内容。

讲到权限就不得不talk about一下继承

for instance

假如我们刚刚用的不是struct person 和struct dog

而是class person 和class dog。当然我先说一下这俩个都可以继承。甚至可以是一个是struct一个时class然后继承,意想不到吧,哈哈。

当然结构体继承类或者类继承结构体都是可以的,因为C++的struct是做了强化的,跟类只有一点区别,当然继承后的新的类或者新的结构体的权限取决于子类而不是父类

class cat:public person,public dog

this is multiple inheritance.是的,你应该多少听过继承这个概念,子类继承了父类的成员函数,让代码可以循环利用增加可读性,它可以一次继承一个结构体或者类,也可以同时继承多个结构体或者类,新的类或者结构体的权限是公有或者其他取决于之前继承关系中的子类。

当多继承的两个父类中有同名成员,则需要加作用域进行区分。

感谢观看

thank you all。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值