C/C++教程

C++类和对象之封装

本文主要是介绍C++类和对象之封装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

面向对象:封装 继承 多态

封装之一:属性和行为作为整体

#include <iostream>
#include <string>
using namespace std;
#define PI 3.14
//设计一个圆类,求圆的周长
class yuan {      //访问权限   属性   行为
public: 
	//包含属性和行为。行为一般用函数	
	int ban;
	double zhou() {
		return 2 * PI * ban;
	}
};
int main() {
	//通过圆类  创建具体的圆(对象)
	yuan   p1;
	p1.ban = 10;
	cout << "zhouchang为" << p1.zhou() << endl;
	return 0; 
}

设计学生类:

#include <iostream>
#include <string>
using namespace std;
//设计一个学生类,属性有姓名和学号
//可以给姓名和学号赋值,可以显示学生的姓名和学号
//设计学生类
//类中的属性和行为  统一称为成员
//属性   成员属性  或 成员变量
//行为   成员函数  或 成员方法

//属性
class student{
public:   //公共权限
	//属性
	string m_Nmae; //姓名
	int ID;
    //行为
	//显示姓名和学号
	void showstudent(){
		cout << "姓名:" << m_Nmae << "学号为" << ID << endl;
	}
	//通过行为给姓名赋值
	void fuzhi(string name) {
		m_Nmae=name;
	}
	//同理。也可以给学号赋值
};
int main() {
	student p1;   //实例化
	//p1.m_Nmae = "掌上电脑";
	p1.ID = 23;
	p1.fuzhi("张三");
	p1.showstudent();
	return 0; 
}

封装之二访问权限

  1. public 公共权限
  2. projected 保护权限
  3. private 私有权限

=======
struct和class 区别
在C++中,唯一的区别就是 默认的访问权限不同。
struct 默认权限为公共 public
class 默认权限为私有 private

#include <iostream>
using namespace std;
class C1
{
	int m_A;   //默认 私有
};
struct C2
{
	int m_A;    //默认权限   公共
};
int main() {
	C1  p1;
	//p1.m_A;   不可以访问  因为私有成员
	C2 p2;
	p2.m_A;

封装之三成员属性私有化

#include <iostream>
#include <string>
using namespace std;
//成员属性设置为私有
//优点1:将所有成员属性设置为私有,可以自己控制读写权限
//优点2:对于写权限。可以检测数据的有效性
class Person {
public:
	//写姓名
	void setname(string name)
	{
		m_Name = name;
	}
	//获取姓名
	string  getName()
	{
		return m_Name;
	}
	//获取年龄是一个只读的状态
	int getAge() {
		m_Age = 0;  //初始化为0 
		return m_Age;
	}
private:
	//姓名   读写
	string m_Name;
	//年龄    只读
	int m_Age;
	//情人     只写
	string m_Lover;
};
int  main() {
	Person  p;
	p.setname("zhangsan");
	//所以年龄不能写入
	//p.getAge = 18;    报错
	cout << "姓名为" << p.getName() << endl;
	system("pause");
	return 0;
}
这篇关于C++类和对象之封装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!