c++中面向对象oop中的类定义

 

定义类一般来说类规范有两个部分组成

类声明:以数据成员的方式描述数据部分,以成员函数的方式(又被成为方法)来描述公有接口。

类方法定义:如何实现类成员函数。

类声明:

#ifndef PCH_H
#define PCH_H

#include <iostream>
#include <string>
class students {
private:
	int id;              //学号
	std::string name;    //名字
	int tall;            //身高
	int weight;          //体重
public:
	void init(void);     //对身高和学号进行赋值
	void print(void);    //打印身高和学号
};

#endif;

以上是我写的一个学生信息管理系统中学生类,通常类定义放在头文件当中,而类方法定义放在原代码中。详细信息都在注解中。

关键字class定义了这些代码是一个类设计。

关键字private(私有部分)定义了以下成员(数据或者是函数)是私有部分的,只能通过公有接口中的成员函数来访问。

关键字public(公有有部分)则定义了以下成员为公有部分中的成员函数(方法)或者类数据(程序可以直接访问)。

公有成员函数(方法)是程序和对象之间的桥梁,提供了对象和程序之间的接口。公有成员函数可以访问私有部分成员。

接口:由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而使程序能够使用类对象。

类之外无法访问到private里的类成员数据和类成员函数!

使得类又一大特性:数据隐藏

数据隐藏:防止程序直接访问数据。使得程序只能通过特定的方式进行访问数据(类公有成员函数)。

类的数据隐藏实现:将类数据放入private中。

  当然,无论类成员是数据成员还是成员函数,都可以在类的公有部分或者私用部分中声明它。但由于隐藏数据是oop主要目的之一,因此数据通常放在私有部分。而组成类接口的成员函数放在公有部分。如果把成员函数放在private内,则无法在程序中直接调用此函数,且不能称为组成接口之一的方法。只有在公共部分内的成员函数才可称为方法,因为此时的函数才能够被程序调用,作为程序和对象之间的桥梁。

 

类方法定义:

  类的方法定义放在源代码中,只需要读取类定义的头文件即可#include "pch.h",在这里使用 " " 读取符,因为“’优先读取文件夹内的头文件。

#include "pch.h"
using namespace std;


void students::init(void)   //使用cin进行赋值
{
	cout << "请输入学号:";
	cin >> id;
	cout << "请输入身高:";
	cin >> tall;
}

void students::print(void)  //打印名字和学号
{
	cout << "学号:" << id << endl;
	cout << "身高:"<< tall << endl;
}

*定义成员函数时,使用作用于解析运算符(::)来表示函数所属的类

*类方法可以访问private内的成员

*类成员函数可以有返回值亦可无返回值

*类成员函数可以有参数,亦可无参数

 

创建对象:

  在main函数中创建对象。

  要创建类对象,可以声明类变量,也可以使用new为类对象分配内存空间。可以将对象作为函数的参数和返回值,也可以将一个对象赋给另一个同类的对象。

#include "pch.h"
#include <iostream>
using namespace std;

int main()
{
	students num1; //创建students类的对象
	num1.init();   //使用方法
	num1.print();

}

创建对象格式:类型名 对象名 如students num1;

使用方法格式:对象名.方法(类成员函数)如 num1.init() , num1.print();

调用方法使用成员运算符(.)

 

运行:

调用接口之一的init()方法。

 

输入:

  调用print()方法,打印信息

以上为c++类定义,后面的内容难点会持续更新博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值