类的权限与应用

三种访问权限

  1. public:公有属性 凡是在它下面声明的变量和函数,都可以在类的内部和外部访问。
  2. private: 私有属性 凡是在它下面声明的变量和函数,只能在类的内部访问。可以使用公有成员函数,用于获取私有变量的值。
  3. protected: 保护属性 凡是在它下面声明的变量和函数,只能在类的内部以及派生类(子类)中访问。
  4. 默认规则:类的成员(包括属性和方法)的访问权限是私有(private)。如果你没有明确指定访问权限,那么类的成员将默认为私有。 如下,没有规定权限设置,以下均为私有属性
// 定义一个动物的类 
class Animal 
{ 
	void EatFood() { 
	// 类的成员函数 
	cout << "我要吃食物" << endl; 
	} 
	char *name; 
	//类的数据成员 
	int number; 
	char Test[100]; 
}; 

手动添加其访其访问属性

// 定义一个动物的类 
class Animal { 
	public: 
	//手动设置为公有属性,即实例化的对象可以直接访问    
		void EatFood() { 
		// 类的成员函数    
		cout << "我要吃食物" << endl;    
		}    
		char *name; 
	//类的数据成员   
	private:    
		int number;   
	protected:    
		char Test[100]; 
}; 

应用场景

  • student.h
#ifndef _STUDENT_H_ 
#define _STUDENT_H_ 
#include <iostream> 
using namespace std; 
class Student { 
	public: 
		int GetAge(); //声明类的成员函数,在函数的其它地方实现 
		int SetAge(int student_age); // 公有成员函数,用于获取私有变量的值 
	private: 
		int age; 
	protected:    
		char Test[100]; 
}; 
#endif 
  • student.cpp
#include "student.h" 
int Student::SetAge(int student_age) //我们可以使用公有属性的函数接口,设置私有属性的值。 
{ 
	age= student_age; 
} 
int Student::GetAge() //获取私有属性的值。 
{ 
	return age; //返回私有属性成员 
} 
  • main.c
#include "student.h" 
int main(int argc, char const *argv[]) 
{ 
	Student qjl; 
	qjl.SetAge(18); 
	cout<<qjl.GetAge()<<endl; 
	/*    
		私有属性和保护属性不可以直接用对象访问    
		qjl.age=2;    
		qjl.Test="hhhh"; 
	*/ 
	return 0; 
} 
posted @ 2024-08-28 22:56  一月一星辰  阅读(44)  评论(0编辑  收藏  举报