一、类的声明与实现
(1)类的定义
c++认为万事万物都有其对象,对象上有它的属性和行为
举例:
①人类中,人可以作为对象,属性有姓名性别身高年龄,行为有吃饭喝水运动......
②车类中,车也可以作为对象,属性有轮胎方向盘发动机,行为有起步加速刹车......
(2)类的声明
class 类名
{
public:
protected:
private:
};
(3)示例代码
#include<iostream>
using namespace std;
//设计一个圆类
//圆求周长的公式:2*pi*半径
const double pi = 3.1415926; //圆周率
class Circle //圆类
{
//访问权限(公共权限)
public:
//属性(半径)
int r;
//行为(获取圆的周长)
double calculate()
{
return 2 * pi * r;
}
};
int main()
{
//通过圆类创建具体的圆(对象)
Circle c1; //c1为clrcle类中实例化的一个对象
c1.r = 10; //给圆对象的属性进行赋值
cout << "圆的周长为" << c1.calculate() << endl; //通过对象c1调用函数
}
二、访问权限
类在设计时可以把属性和行为设置为不同权限加以控制
(1)控制属性
①公有成员 public:(类的对外接口)
②保护乘员 protected:
③私有成员 private:
(2)示例代码
#include<iostream>
using namespace std;
//访问权限
//三种
//公共权限(public:)类内类外都能访问
//保护权限(protected:)类内能访问
//私有权限(private:)类内能访问
class Person
{
public:
//公共权限
string my_Name;
private:
//私有权限
string my_Password;
protected:
//保护权限
string my_Car;
public:
void func()
{
my_Name = "zhangsan";
my_Car = "hongqi";
my_Password = 123456;
}
};
int main()
{
//实例化一个对象
Person p1; //实例化具体对象
p1.my_Name = "lisi";
p1.my_Password = "123";
}
三、struct与class区别
在c++中struct与class唯一的区别在于默认访问权限不同:
- struct默认权限在于公共
- class默认权限在于私有
(1) 示例代码
class One
{
int m_A;
};
struct Two
{
int m_A;
};
int main()
{
One c1;
Two c2;
c1.m_A = 100; //会报错,class默认访问权限为私有
c2.m_A = 100; //不会报错,struct默认访问权限为公共
}