类在其自身的定义体内作为数据类型

转载 2012年03月28日 22:59:00

只有static成员变量,指针或者引用,才可以在一个类的定义体内,用本类作为数据类型,如:

class Bar

{

public:

                  ......

private:

                  static Bar member1;                            //OK

                  Bar* member2;                                     //OK

                  Bar& member3;                                    //OK

                  Bar member4;                                      //ERROR "使用正在定义的Bar"

};

        

注意:如果Bar中有个成员函数的参数的数据类型是Bar,则是可以的。如:

class Book

{

public:

                  Book(const string& book_name) : author("Stanley B. Lippman")

                  {

                           this->book_name = book_name;

                  }

 

                  bool same_author(const Book book) const;

private:

                  string book_name;

                  string author;

};

类在其自身的定义体内作为数据类型

只有static成员变量,指针或者引用,才可以在一个类的定义体内,用本类作为数据类型,如: class Bar { public:                   ...... priv...
  • u010059658
  • u010059658
  • 2014年12月24日 14:58
  • 337

类中定义自身类的对象

在C++的类定义中,是不能够在类中定义自身类的对象的,但是可以定义自身类的指针对象和引用。 class A { public:  A ()  {   cout  };  A a; }...
  • xijiaoda_liuhao
  • xijiaoda_liuhao
  • 2011年09月26日 19:10
  • 3622

类中自身类的对象不能做自己的数据成员

C++中为什么类中自身类的对象不能做自己的数据成员,但是做静态数据成员、引用类数据成员等可以? student { private: student a;//错误...
  • pmt123456
  • pmt123456
  • 2016年03月12日 11:28
  • 336

C++类中数据成员为类类型时,定义为对象还是定义为指针?

C++类中数据成员为类类型时,定义为对象还是定义为指针? http://www.cppblog.com/aurain/archive/2012/11/18/195327.html C+...
  • sun_z_x
  • sun_z_x
  • 2015年07月11日 10:47
  • 1478

为什么C++中的类不能定义自身类的对象?

最近在做C++套题时,遇到一个一个选择题,原题如下:     有如下类声明:         class Te{ public: Te(); ...
  • u010955843
  • u010955843
  • 2014年03月21日 11:30
  • 2358

为什么类的定义中不能包含自身类型,而可以包含其自身的指针类型和引用类型

一个类可以只有声明没有定义,如: class Simple ; //没有{}部分被视为声明。注意: class Simple { } ; 这个是定义,只不过类是空的而已。只要包含{}就算定义...
  • Kerrwy
  • Kerrwy
  • 2017年02月21日 15:00
  • 525

类定义中包含自己的对象的问题

class a{   a aa;   int i;   }; int main(){} 为什么这个类编译通不过但是换成这样 class a{   static a aa;   int ...
  • minglingji
  • minglingji
  • 2012年09月16日 10:19
  • 3094

C++的类定义中,不能在类中定义自身类的对象,java中却可以

class TreeNode {   public: int val;  TreeNode(int x) { val = x; }      TreeNode left ;      Tre...
  • huiyuanai222
  • huiyuanai222
  • 2016年03月24日 14:25
  • 357

java类里的成员变量是自身的对象问题

今晚看单例模式饿汉时想到一个问题:假如java类里的成员变量是自身的对象,则新建该类对象时内存中怎么分配空间,我感觉似乎死循环了。 举个例子: package day810; class B {...
  • u014082714
  • u014082714
  • 2016年08月10日 23:10
  • 2301

自身类作为事件监听器

import javax.swing.*; import java.awt.*; import java.awt.event.*;//调用系统的类以及事件方法 public c...
  • qq_40560963
  • qq_40560963
  • 2017年11月08日 20:09
  • 31
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类在其自身的定义体内作为数据类型
举报原因:
原因补充:

(最多只允许输入30个字)