C++ 对象和类

前言       

        在本文中,您将学习在C ++编程中使用对象和类。C ++是一种多范式编程语言。意思是说,它支持不同的编程风格。解决编程问题的一种流行方法是创建对象,即所谓的面向对象编程风格。C ++支持面向对象(OO)的编程风格,该风格使您可以通过创建对象将复杂的问题分成较小的集合。对象只是数据的集合和作用于这些数据的函数。

C ++类

        在C ++中创建对象之前,需要定义一个类。类是对象的蓝图。我们可以将类视为房子的草图(原型)。它包含有关地板,门,窗户等的所有详细信息。基于这些描述,我们建造了房屋。而房子就是对象。由于可以用相同的描述制作许多房屋,因此我们可以根据一个类创建许多对象。

如何在C ++中定义一个类?

        在C ++中,使用关键字class及其后的类名定义了一个类。类的主体在大括号内定义,并在末尾以分号结束。

class className
   {
   // 一些数据
   //一些功能
   };

示例:C ++中的类

class Test
{
    private:
        int data1;
        float data2;  

    public:  
        void function1()
        {   data1 = 2;  } 

        float function2()
        { 
            data2 = 3.5;
            return data2;
        }
   };

        在这里,我们定义了一个名为Test的类。此类具有两个数据成员:data1和data2和两个成员函数:function1()和function2()。

关键字:private 和 public

        在上面的示例中,您可能已经注意到两个关键字:private和public。private关键字使数据和函数变为私有。只能从同一类内部访问私有数据和函数。public关键字将数据和函数公开。数据和函数可以在类之外访问。这里,data1和data2是私有成员,而function1()和function2()是公共成员。

        如果尝试从类外部访问私有数据,则编译器将引发错误。OOP(面向对象程序设计)中的此功能称为数据隐藏。

C ++对象

        定义类时,仅定义对象的规范;没有分配内存或存储空间。要使用类中定义的数据和访问函数,需要创建对象。

在C ++中定义对象的语法

className objectVariableName;

您可以用如下方法创建Test类的对象(在上面的示例中定义):

class Test
{
    private:
        int data1;
        float data2;  

    public:  
        void function1()
        {   data1 = 2;  } 

        float function2()
        { 
            data2 = 3.5;
            return data2;
        }
   };

int main()
{
    Test o1, o2;
}

        在这里,创建了Test类的两个对象o1和o2。在上面的Test类中,data1和data2是数据成员,而function1()和function2()是成员函数。

如何在C ++中访问数据成员和成员函数?

您可以使用 . 来访问数据成员和成员函数。(.)运算符。例如,

o2.function1();

这将在Test类中为对象o2调用function1()函数。

同样,可以通过以下方式访问数据成员:

o1.data2 = 5.5;

        重要的是要注意,只能从类内部访问私有成员。

示例:C ++编程中的对象和类

// 用于说明C ++编程中对象和类的工作的程序
#include 
using namespace std;

class Test // 创建一个名为Test的类
{

    private:
        int data1;
        float data2;

    public:

        void insertIntegerData(int d)
        {
            data1 = d;
            cout << "数字: " << data1;
        }

        float insertFloatData()
        {
            cout << "\n输入数据: ";
            cin >> data2;
            return data2;
        }
};

int main()
{
    Test o1, o2; // 创建两个对象o1、o2
    float secondDataOfObject2;

    o1.insertIntegerData(12);
    secondDataOfObject2 = o2.insertFloatData();

    cout << "您输入了 " << secondDataOfObject2;
    return 0;
}

输出结果: 

        在这个程序中,在Test类中定义了两个数据成员data1和data2,以及两个成员函数insertIntegerData()和insertFloatData()。声明同一个类的两个对象o1和o2。使用以下方法为o1对象调用insertIntegerData()函数:

o1.insertIntegerData(12);

这会将对象o1的data1值设置为12。然后,调用对象o2的insertFloatData()函数,并使用以下方法将函数的返回值存储在变量secondDataOfObject2中:

secondDataOfObject2 = o2.insertFloatData();

在这个程序中,o1的data2和o2的data1没有被使用,并且包含垃圾值。

你可能感兴趣的:(C++,c++,开发语言)