理解
一件物品的质量、大小等是它的“属性”,而它的用途即使它的“行为”。
c++中的class包含两个元素: 属性和行为
而在c++中,属性即是int等变量,方法即是函数。
定义方法
class class_name//定义类的名称
{
public ://在下面定义公共的属性或者行为
private ://在下面定义私有的属性或者行为
}; //这里的分号不可以省略
其中
- public 为公开的属性\行为,可被外界直接调用\访问
- private 为私有的属性\行为,只能被本类内部调用\访问
使用方法
此处以学生信息为例
定义class:
class Student
{
string name;
int id;
int grad;//如果没有声明是否私有,默认为private
public :
void setName(string nameIn);
void setId(int idIn);
void setGrad(int gradIN);//将学生信息加入 类Student 中的函数
string getName();
int getId();
int getGrad();//获取学生信息的函数,可用于打印本类中的元素
void print();//打印类中的元素的第二种方法
};
建立class的函数
void setName(string nameIN)
void Student::setName(string nameIN)
{
name=nameIN;
}
void Student::setId(int idIn)
{
id=idIn;
}
void Student::setGrad(int gradIn)
{
grad=gradIn;
}
访问Student中的成员变量
//方法一
void Student::print()
{
cout<<name<<" "<<id<<" "<<grad;
}
//方法二
string Student::getName()
{
return name;
}
int Student::getId()
{
return id;
}
int Student::getGrad()
{
return grad;
}
完整代码
#include<bits/stdc++.h>//万能头文件
using namespace std;
class Student
{
string name;
int id;
int grad;
public :
void setName(string nameIn);
void setId(int idIn);
void setGrad(int gradIN);
string getName();
int getId();
int getGrad();
void print();
};
void Student::setName(string nameIN)
{
name=nameIN;
}
void Student::setId(int idIn)
{
id=idIn;
}
void Student::setGrad(int gradIn)
{
grad=gradIn;
}
void Student::print()
{
cout<<name<<" "<<id<<" "<<grad;
}
string Student::getName()
{
return name;
}
int Student::getId()
{
return id;
}
int Student::getGrad()
{
return grad;
}
int main()
{
string Name;
int Grad,Id;
Student student_1;
cin>>Name>>Id>>Grad;
student_1.setName(Name);
student_1.setId(Id);
student_1.setGrad(Grad);
student_1.print();
cout<<endl;
cout<<student_1.getName()<<" "<<student_1.getId()<<" "<<student_1.getGrad();
return 0;
}