首先C是面向过程编程,C++是面向对象编程,C++在C的基础上发展而来,刚开始入门学习时,老师告诉我们重在理解概念,不要过于深究语言的技术细节;
C++增加了面向对象过程,增加了类的概念,所谓的类就是用户自己定义的类型;我们就是用户,定义一个类就是定义一个我们自己的工具;在定义一把新的工具之前,我们要清楚这把工具所要实现的功能,并根据它的功能给它起一个名字,对于类而言就是使用关键字class标记名字,把功能塞进肚子里(花括号),定义完成之后还要用分号和别的东西隔开;
class Dog //定义一种动物:狗
{ };
对于类而言怎么定义它的功能呢?其实它的肚子里面只有两种食物,分别是数据表示法和数据处理法;我们围绕我们想实现的功能阐述我们需要表述的数据以及处理这些数据的方法;下面的例子我们先只定义一个数据;
class Dog
{
public: //类成员可以被定义为 public、private 或 protected。默认情况下是定义为 private,这个之后会讲
double weight; // 狗的体重
};
现在我们的工具定义完了,我们要开始使用它了。我们定义类的目的就是为了用它来定义新的、原本没有的变量;C++把这种变量称之为对象;定义方法就和C定义整型变量一样:int a;
Dog Dog1; // 声明 Dog1,类型为 Dog; 狗对象一号
Dog Dog2; // 声明 Dog2,类型为 Dog; 狗对象二号
现在这两条狗定义结束了,我们需要告诉对方,这两只狗的颜色和体重了,对于对象而言就是把对应的数据写入,这时我们需要使用直接成员访问运算符 (.) 来访问;
class Dog
{
public:
double weight; // 狗的体重
};
int main( )
{
Dog Dog1; // 声明 Dog1,类型为 Dog; 狗对象一号
Dog Dog2; // 声明 Dog2,类型为 Dog; 狗对象二号
// Dog1 数据描述
Dog1.weight = 5.0;
// Dog2数据描述
Dog2.weight = 10.0;
return 0;
}
这样就定义结束了两只不同的狗,这就是类和定义;
现在我们来说一下刚刚第二次代码中 public 的问题:
一个类可以有很多个数据成员,但是数据成员的性质也分三类,分别是:
公有(public)成员
私有(private)成员
保护(protected)成员
代码中的关键字 public 正是确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。
以上就是对类与对象的简单描述,它们其实还有相关的概念,有类成员函数、友元函数、内联函数等。