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

转载 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;

};

相关文章推荐

C++数据的封装和类体内定义成员函数的学习笔记

在Java中封装数据是面向对象三大特性中的一个种,在C++中数据的封装和Java中思想一样。就是讲抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据和操作数据的函数代码进行有机的结合,形成类...

自定义数据类型 --- 类全解(swift2.3)

自定义数据类型 — 类(swift) 下面简单的介绍结构体这一自定义数据类型的应用类的基本语法 类是引用类型 引用类型的特点 类的等价 什么时候使用类,什么时候使用结构体 一:类的基本语法 cla...

C++第四周中提供了多种基本的数据类型(任务四)定义一个工资类

【任务4】阅读教材P255例8.4,注意到类中的数据成员可以是数组。设计一个工资类(Salary),其中的数据成员有:double型数组salary[50](实际人数可以少于50,固定取50可能造成空...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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