C ++中的匿名类

匿名实体是没有名称定义的任何东西。没有提供名称的类在c ++中被称为匿名类。匿名类是具有一个基本属性的特殊类。

  • 由于没有为该类提供名称,因此没有分配给它的构造函数,尽管有一个析构函数可用于释放内存块。

  • 该类不能用作函数的元素,即您不能将其作为参数传递或不能接受从函数返回的值。

在C ++中定义匿名类的语法

class {
   //data members
   // member fucntions
}


一些编程来说明c ++中匿名类的工作。

  • 创建一个匿名类并定义和使用其单个对象-

    我们将定义一个匿名类并声明其对象,我们将使用该对象来使用该类的成员。

示例

#include <iostream>
using namespace std;
class{
   int value;
   public:
   void setData(int i){
      this->value = i;
   }
   void printvalues(){
      cout<<"Value : "<<this->value<<endl;
   }
}
 obj1;
int main(){
   obj1.setData(10);
   obj1.printvalues();
   return 0;
}

输出结果

Value : 10
  • 创建一个匿名类并定义和使用其两个对象-

    我们可以有多个匿名类的对象,并在我们的代码中使用它们。下面的程序显示了工作-

示例

#include <iostream>
using namespace std;
class{
   int value;
   public:
   void setData(int i){
      this->value = i;
   }
   void print(){
      cout<<"Value : "<<this->value<<endl;
   }
}
 obj1,obj2;
int main(){
   cout<<"Object 1 \n";
   obj1.setData(10);
   obj1.print();
   cout<<"Object 2 \n";
   obj1.setData(12);
   obj1.print();
   return 0;
}

输出结果

Object 1
Value : 10
Object 2
Value : 12