一、类的引入
目录
一、类的引入
二、类的定义
三、类的访问限定符和封装
1、访问限定符
2、封装
四、类的作用域
C语言中,结构体只能定义变量,在C++中,结构体不仅可以定义变量,也可以定义函数
#include<iostream>
using namespace std;
struct book
{
void Setbook(char* name, char* id, double price)
{
strcpy(_name, name);
strcpy(_id, id);
_price = price;
}
void Printf()
{
cout << _name << " " << _id << " " << _price << endl;
}
char _name[20];
char _id[20];
double _price;
};
int main()
{
book s;
book l;
s.Setbook("yueliang", "123456", 32.4);
l.Setbook("liubianshi", "234567", 32.4);
s.Printf();
l.Printf();
return 0;
}
二、类的定义
class classname
{
//类体:由成员函数和成员变量组成;
};//结尾需要有分号
class为定义类的关键字,classname为类的名字,{}为类的主体,类中的数据称为类的属性或者成员变量,类中的函数被称为类的方法或者成员函数。
三、类的访问限定符和封装
1、访问限定符
限定符包括:
1】、public? ? ? ? ??公有
2】、protected? ? ?保护
3】、private? ? ? ? ?私有
?说明
1)、public修饰的成员在类外可以直接访问
2)、protected和private修饰的成员在类外不能直接被访问
3)、访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4)、class的默认访问限定权限为private,structd的默认访问权限为public
2、封装
对象的三大特性:封装,继承,多态
封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互。
四、类的作用域
类定义了一个新的作用域,类的所有成员都在类的作用域之中。在类外定义成员,需要使用::作用域解析符指明成员属于哪个作用域。
class book
{
public:
void Printf();
char _name[20];
char _id[20];
double _price;
};
void book::Printf()
{
cout << _name << " " << _id << " " << _price << endl;
}
|