类可以说是C++的精髓所在!
首先学习如何定义一个类:
一个类的内部可以有成员也可以没有成员,当然啦,没有成员的类没有什么用处
1.类的成员成员分数据成员和函数成员
每个成员共有三种类型的区分,被称之为“访问标号”:private、public、protected
一般定义的时候,数据成员被定义为私有的,函数成员定义成公有的。protected在继承的时候会用到。如果没有写标号,就默认是私有的成员函数
在类的内部可以用公有的函数成员去操作私有的数据成员,但是在类外部就不能使用私有的成员
那么要使用该类私有的成员数据应该怎么办呢?
答:我们可以用该类中公有的成员函数去间接调用私有的成员数据,因此公有的成员又被称之为类的接口,私有成员则将类内部的信息进行了隐藏。
什么是封装?
答:整个类的定义就叫做封装,封装了一些函数成员和数据成员,即实现了一种数据抽象
#include<iostream>
#include<string>
#include<stdlib.h>
using namespace std;
class Person
{
//成员
public:
Person(const string &nm,const string &addr) :name(nm),address(addr)//C++自带的初始化列表
//这是该类的一个默认构造函数 函数名和类名字一样
{
/*name = nm;
address = addr*/;//这种写法简单,但是不太好
//最好的做法如上所示,利用默认是初始化列表去初始化私有成员,这样更快又比较专业
}
string getName() const//如果只是去读取数据,不修改数据。
//则加一个const,这是C++语言中标准的函数,更保险一些
{
return name;//类内部可以用公有的函数成员去操作私有的数据成员
}
string getAddress() const
{
return address;
}
private:
string name;
string address;
};
int main()
{
Person a("Bob","1214562");
a.getName;//类外部不能使用私有的成员
a.getName();//类外部可以使用公有的成员
a.getAddress();
system("pause");
}