C/C++教程

C++类的封装

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

C++封装

封装的意义:

封装是以类的方式实现的,在C++中创建一个类需要使用关键词class

语法:

class Person//class 类名
{
public:
   
    //类中的行为 也称为  成员函数  成员方法
    void SetName(string name)//设置姓名
    {
        m_Name=name;
    }
    
    void SetAge(int age)//设置年龄
    {
        m_Age=age;
    }
    
    
    
    
    //类中的属性 也称为  成员属性  成员变量
    string m_Name;		//姓名
    int Age;			//年龄
    
};

如同上方创建一类事物的共同属性,并将其封装在一个类中。


类中的权限:

//public:  			访问权限中的 公共权限  类内可以访问 类外可以访问
//protected:  		访问权限中的 保护权限	 类内可以访问 类外不可以访问	儿子也能够访问父亲中的保护内容
//private			访问权限中的 私有权限	 类内可以访问 类外不可以访问	儿子不可以访问父亲的私有权限内容

在C++中struct与class的区别:

在没有写明权限的情况下:

//struct默认权限为公共
struct C1
{
	int m_A;	//默认权限 是公共
};

//class默认权限为私有
class C2
{
	int m_A;	//默认权限 是私有
};

在一般情况下为防止修改成员属性,我们会将其设置为私有权限,但是可以通过公共的成员函数来进行间接的一些操作


类的多文件写法(此处以一个点类为例):

在.h文件中:

写明类与其对应的成员属性和成员函数的声明:

#pragma once
#include <iostream>
using namespace std;
//点类
class Point
{
	//属性
private:
	int m_X;
	int m_Y;

	//操作
public:
	//设置x
	void set_X(int x);

		//获取x
		int get_X();

		//设置y
		void set_Y(int y);

		//获取y
		int get_Y();
	
};

在.cpp文件中要写好成员函数的定义与属于哪一个类的作用域下的行为:

#include "Point.h"
//点类

//在此处 这些函数是全局函数 所以需要告诉这些函数是在
//Point作用域下的函数

	//设置x
	void Point::set_X(int x)
	{
		m_X = x;
	}
	//获取x
	int Point::get_X()
	{
		return m_X;
	}
	//设置y
	void Point::set_Y(int y)
	{
		m_Y = y;
	}
	//获取y
	int Point::get_Y()
	{
		return m_Y;
	}
这篇关于C++类的封装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!