一、类的介绍
C++中的类,相当于C语言中的结构体,不过C++的类所包含的不仅仅变量,还有函数,
并且,类的使用更加的灵活。
二、创建一个类class
下面是创建一个圆类,一个类中主要有三部分:访问权限、属性、行为。
#include <iostream>
using namespace std;
const double PI = 3.14;
//设计一个圆类,求周长
class Circle
{
//访问权限
//公共权限
public:
//属性
//
int m_r;
//行为
double calculateZC()
{
return 2 * PI * m_r;
}
};
int main()
{
//通过圆类,创建具体圆,即对象
//实例化(通过一个类,创建一个对象的过程)
Circle c1;
//给圆对象的属性赋值
c1.m_r = 10;
cout << "圆周长:" << c1.calculateZC() << endl;
system("pause");
}
接下来创建一个学生类
另外,类中的属性和行为统一称为成员
属性 = 成员属性 = 成员变量
行为 = 成员函数 = 成员方法
#include <iostream>
using namespace std;
#include <string>
class Student
{
//访问权限
public:
//属性
string m_name;
int m_Id;
//行为
void showStudent()
{
cout << "姓名:" << m_name << "学号:" << m_Id << endl;
}
void setname(string name)
{
m_name = name;
}
void setid(int id)
{
m_Id = id;
}
};
int main()
{
Student s1;
//给圆对象的属性赋值
//s1.m_name = "张三";
s1.setname("张三");
//s1.m_Id = 1;
s1.setid(1);
s1.showStudent();
system("pause");
}
三、访问权限
public---------公共权限 --------------可类内访问--------------可类外访问
protected— 保护权限--------------可类内访问-------------不可类外访问
private-------私有权限--------------可类内访问-------------不可类外访问
#include <iostream>
using namespace std;
#include <string>
class Person
{
public:
string m_Name;
protected:
string m_Car;
private:
int m_Password;
public:
void func()
{
m_Name = "zhangsan";
m_Car = "benz";
m_Password = 111111;
}
};
int main()
{
Person p1;
p1.m_Name = "lisi";
//p1.m_Car = "toyoto";//报错,保护权限内容,类外访问不到
//p1.m_Password = 1;//私有权限内容,无法访问
system("pause");
}
struct与class
一般情况下,struct 默认权限为公共,class 默认权限为私有
四、成员属性设为私有
一是可以自主控制读写权限,二是写数据时,可以检测数据有效性
一般来说,是将成员变量的访问权限设为私有权限,使得class外部无法直接访问,再通过成
员函数来使class外部间接地对成员变量进行读写操作,但要注意的是,成员函数的访问权限
需要设为公共访问权限。
#include <iostream>
using namespace std;
#include <string>
class Person
{
public:
void setName(string name)
{
m_Name = name