• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++类和对象

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

打个比方,狗,这个物种就是类,我家的小狗名字叫花花,花花是狗的一种,我们就把花花称作类的对象,花花就是狗这个类数理化出来的对象。

#include<stdlib.h>
#include<iostream>
using namespace std;

class Dog// class:关键字,Dog:类名
{
    char name[20];
    int age;
    int type;// int:属性,type:数据成员

    void speak();// 成员函数,或者说方法
    void run();
}

定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。

类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。例如,我们使用关键字 class 定义 Box 数据类型,如下所示:

class Box
{
   public:
      double length;   // 盒子的长度
      double breadth;  // 盒子的宽度
      double height;   // 盒子的高度
};

关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 privateprotected,这个我们稍后会进行讲解。

定义 C++ 对象

类提供了对象的蓝图,所以基本上,对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样。下面的语句声明了类 Box 的两个对象:

Box Box1;          // 声明 Box1,类型为 Box
Box Box2;          // 声明 Box2,类型为 Box

对象 Box1 和 Box2 都有它们各自的数据成员。

访问数据成员

详细内容:https://www.cnblogs.com/chuijingjing/p/9245445.html

类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问。为了更好地理解这些概念,让我们尝试一下下面的实例:

#include <iostream>
#include <stdlib.h>
using namespace std;

// 实例化一个类的对象 

class Coordinate  // 定义一个类
{
public:  // 访问限定符
    int x;
    int y;
    void printX()
    {
        cout << x << endl;
    } 
    void printY()
    {
         cout << y << endl;
    }
};

int main(void)
{
    // 栈的方式 
    Coordinate coor; // 定义在栈中的一个对象 
    coor.x = 10;  // 访问数据成员或者成员函数 
    coor.y = 20;
    coor.printX();
    coor.printY();
    
    // 堆的方式
    
    Coordinate *p = new Coordinate();
    if(NULL == p)
    {
        // 申请内存失败
        return 0; 
    } 
    p->x = 100;  // 访问数据成员或者成员函数 
    p->y = 200;
    p->printX();
    p->printY();
    
    delete p; // 释放内存 
    p = NULL;
     
    system("pause");
    return 0;
}
 

需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#USING语句块发布时间:2022-07-13
下一篇:
C、C++文件操作大全发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap