C++学习(六)—类和对象(一)

类的封装

#include<iostream>

using namespace std;

class Persion
{
public:
	char p_name[20];
	int p_age;

	void PersonEat()
	{
		cout << p_name << "在吃饭" << endl;
	}
private:  //	私有权限
};


struct Dog
{
	char d_name[20];
	int d_age;

	void DogEat()
	{
		cout << d_name << "在吃狗粮" << endl;
	}
};


//	C++封装:将属性和行为作为一个整体,来表现生活中的事和物
//	C++下的 struct 和 class 区别:struct 默认权限 public 公共权限  class 默认权限:private 私有权限
//	将这些成员  加以权限进行控制
//  权限:public 公共权限  protected 保护权限 private 私有权限  
//	public        类内可以访问  类外也可以访问
//  protected     类内可以访问  类外不可以访问(子类可以访问)
//  private       类内可以访问  类外不可以访问(子类也不可以访问)



void test01()
{
	Persion p;
	strcpy_s(p.p_name, 20, "老王");

	Dog d;
	strcpy_s(d.d_name, 20, "旺财");

	p.PersonEat();
	//	d.PersonEat();  // Dog中不能调用Persion中的成员函数
	d.DogEat();
}



int main()
{
	test01();
	system("pause");
	return 0;
}

私有属性

#include<iostream>
using namespace std;

#include<string>

//	尽量将成员函数设置成私有
//  设置为私有的属性,可以自己控制属性的读写操作
//  可以将用户传入的数据进行检测

class Persion
{
public:
	void set_name(string name)
	{
		p_name = name;
	}
	string get_name()
	{
		return p_name;
	}
	int get_age()
	{
		return p_age;
	}
private:
	string p_name;  //可读可写
	int p_age = 30;  //  可读
};


void test01()
{
	Persion p;
	p.set_name("老王");

	cout << p.get_name() << endl;
	cout << p.get_age() << endl;
}



int main()
{
	test01();
	system("pause");
	return 0;
}
发布了31 篇原创文章 · 获赞 8 · 访问量 3671

猜你喜欢

转载自blog.csdn.net/qq_42689353/article/details/104522771