C++ 自定义类型

2018-03-24 15:21 更新

学习C++ - C++自定义类型

定义您自己的数据类型

您可以通过定义一个类来定义新的数据类型。

类类型可以是其他类型的基本类型或其他类类型的变量的组合。

类也可以具有作为其定义的组成部分的功能。

您可以定义一个类型为Box,它包含存储长度,宽度和高度来表示框的变量。

然后,您可以定义Box类型的变量,就像定义基本类型的变量一样。

每个Box对象将包含自己的长度,宽度和高度尺寸,您可以根据需要在程序中创建和操作尽可能多的Box对象。

类是用户定义的数据类型。

在类中定义的变量和函数是类的成员。

变量是数据成员和函数是函数成员。

类的函数成员是有时称为方法。

类型的变量存储对象。对象有时被称为类的实例。

定义类的实例被称为实例化。


面向对象

面向对象编程包含了一些其他重要的想法(着名的封装和数据隐藏,继承和多态)。

继承是根据另一种定义一种类型的能力。

多态性是指在不同时间采取不同形式的能力。

C++中的多态性总是涉及使用指针或引用来调用对象的函数成员。

定义类

类是用户定义的类型。

类型的定义使用class关键字。类定义的基本组织如下所示:

  
class ClassName 
{ 
  // Code that defines the members of the class... 
}; 

此类类型的名称为ClassName。

使用用户定义类的大写名称来区分类型和变量名是一个常见的约定。

类的成员都在大括号之间指定。

函数成员的定义可以在类定义的内部或外部。

   
class Box { 
private: 
  double length {1.0}; 
  double width {1.0}; 
  double height {1.0}; 
public: 
  // Function to calculate the volume of a box 
  double volume() { 
    return length*width*height; 
  } 
}; 

length,width和height是Box类的数据成员,都是double类型。

每个Box对象都有自己的数据成员集。

这是很明显的 - 如果他们没有自己的数据成员,所有的对象都是一样的。

您可以像这样创建一个类型为Box的变量:

    
Box myBox; // A Box object with all dimensions 1 

myBox变量指的是具有默认数据成员值的Box对象。您可以调用该对象的volume()成员来计算卷:

  
std::cout << "Volume of myBox is" << myBox.volume() << std::endl;  // Volume is 1.0 

您可以将数据成员指定为public,在这种情况下,您可以从类外部显式设置它们,如下所示:

    
myBox.length = 1.5; 
myBox.width = 2.0; 
myBox.height = 4.0; 
std::cout << "Volume of myBox is" << myBox.volume() << std::endl;  // Volume is 12.0 


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号