类的权限与应用
三种访问权限
- public:公有属性 凡是在它下面声明的变量和函数,都可以在类的内部和外部访问。
- private: 私有属性 凡是在它下面声明的变量和函数,只能在类的内部访问。可以使用公有成员函数,用于获取私有变量的值。
- protected: 保护属性 凡是在它下面声明的变量和函数,只能在类的内部以及派生类(子类)中访问。
- 默认规则:类的成员(包括属性和方法)的访问权限是私有(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;
}
本文来自博客园,作者:一月一星辰,转载请注明原文链接:https://www.cnblogs.com/tangwc/p/18385671