定义类一般来说类规范有两个部分组成
类声明:以数据成员的方式描述数据部分,以成员函数的方式(又被成为方法)来描述公有接口。
类方法定义:如何实现类成员函数。
类声明:
#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++类定义,后面的内容难点会持续更新博客。