C++面向对象知识点一:类与访问权限

目录

面向对象:类的定义 

类的成员函数

公有成员

私有成员

保护成员

三种访问权限在继承中的特点


面向对象:类的定义 

// 类和对象.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <string.h>
class person
{
private:
	// 成员变量
	char name[20];
	char sex;
	int age;
	int idnum;
public:
	// 成员函数
	void setInformation(char *na, char s, int a, int num)
	{
		strcpy(name, na);
		sex = s;
		age = a;
		idnum = num;
	}
	void getName(char *na)
	{
		strcpy(na, name);
	}
	char getSex()
	{
		return sex;
	}
	int getAge()
	{
		return age;
	}

	void setData(char[], char, int, int);

protected:
	void changeID(int num)
	{
		idnum = num;
	}
};

void person::setData(char na[], char s, int a, int num) // 使用范围解析运算符::来定义成员函数
{
	strcpy(name, na);
	sex = s;
	age = a;
	idnum = num;
}

int main()
{
	person p; // 创建一个对象
	p.setInformation("Dylan", 'm', 20, 123456); // 调用该对象的成员函数
    return 0;
}

关键字private,protected,public 表示类的成员的访问权限:私有的,保护的和公有的。

私有成员和保护成员在类外不能使用成员访问运算符(.)来直接访问。

成员访问权限 类内访问特性 类外访问特性
private 可直接访问 不可直接访问
protected 可直接访问 不可直接访问
public 可直接访问 可直接访问

类的成员函数

  • 使用成员函数来访问类的成员,而不是直接访问这些类的成员。
  • 类成员函数是类的一个成员,可以操作类的任意对象,可以访问对象中的所有成员。
  • 成员函数可以在 类定义内部 定义,或者单独使用范围解析运算符::来定义。
  • 在类定义中定义的成员函数把函数声明为内联的。

公有成员

公有成员(公有变量,公有成员函数)在类的外部是可以访问的。

私有成员

私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有在类内和友元函数可以访问私有成员

默认情况下,类的所有成员都是私有的。在没有使用任何访问修饰符(private,protected,public)时,类的成员将被假定为私有成员。

实际操作中,我们一般会在私有区域定义数据,在公有区域定义相关的函数,以便在类的外部也可以调用这些函数,

保护成员

保护成员变量或函数与私有成员十分相似,但不同的是,保护成员在派生类(子类)中是可以访问的。

三种访问权限在继承中的特点

继承方式 基类成员访问属性 在派生类中的访问属性
public public public
protected protected
private private
protected public protected
protected protected
private private
private public private
protected private
private private

1.private 成员只能被本类成员(类内)和友元访问,不能被派生类访问;

2.protected 成员可以被派生类访问。

猜你喜欢

转载自blog.csdn.net/Doutd_y/article/details/81977654
今日推荐