c++面向对象的三大特性:封装,继承,多态
c++万事万物都可以作为对象,对象上有其属性和行为
类中的属性和行为都叫做类的成员,
成员属性和成员表变量都是指类中的属性
成员函数和成员方法都都是指类中的方法
封装
意义
封装是c++的三大特性之一
封装的意义:
将属性和行为作为一个整体,表现生活中的事务
将属性和行为加以权限控制
设计类的时候,属性和行为写在一起,表现事务
语法:class 类名{ 权限:属性/行为}
//写一个圆类#include<iostream>#define PI 3.14using namespace std;class cir{//访问权限public://公共权限int r;double calculateZC(){return PI*2*r;}};int main(void){//创建一个具体的对象cir C1;C1.r = 10;cout<<"周长 "<<C1.calculateZC()<<endl;}
#include<iostream>#include<string>//#define PI 3.14using namespace std;class student{//访问权限public://公共权限string name;string id;void show(){cout<<"name: "<<name<<"ID: "<<id<<endl;}};int main(void){//创建一个具体的对象student s1;s1.name = "张三";s1.id = "001";s1.show();}
也可以通过行为来给属性赋值
#include<iostream>#include<string>//#define PI 3.14using namespace std;class student{//访问权限public://公共权限string name;string id;void show(){cout<<"name: "<<name<<"ID: "<<id<<endl;}void set_name(string s_name){name = s_name;}};int main(void){//创建一个具体的对象student s1;s1.set_name ("张三");s1.id = "001";s1.show();}
属性
类在设计时,可以把属性和行为放在不同的权限下加以控制
- public 公共权限 类的内外都可以访问
- protected 保护权限 类内可以访问,类外不可以访问 子类也可以访问
- private 私有权限 **类内可以访问,类外不可以访问 子类不可以访问**
c++中class和struct的区别
c++中class 和 struct唯一的区别是默认的访问权相比不同
- struct默认属性是公共 // 在c++中struct可以写函数,在C语言中不可以
- class默认属性是私有
