C++ 特殊的类

原创 2015年07月07日 10:42:02

之前在面试中多少会遇到的一些问题,记录下来以便以后翻看



1、不能复制的类:


class  Student{
  public:
     Student(){};
     
  private:
     Student(const Student& S ){};
     Student&operator= (const Student&){};
     ....
    
}

不需要给复制构造函数和私有赋值运算符提供实现,只需将其声明私有即可确保President不可被复制

2、只能有一个实例的单例类:

class Student{
 private:
     Student(){};
     Student(const Student &S ){};
     const Student &operator= (const Student &){};
     string name ;
 public:
     static Student& Get()
     {
          static Student OnlyOne;
          return OnlyOne;
     } 
     void setName( string Na)
     {
          this->name=Na;
     }
};

int main()
{
     Student &OnlyOne=Student::Get();
     OnlyOne.setName("Oba");
     ...
}

关键字static不可少

3、禁止在栈中实例的类:
将析构函数声明为私有函数,但不是能阻止在堆中实例化

A a;//error
A *a=new A();// no complie error



版权声明:本文为博主原创文章,未经博主允许不得转载。

C++ Primer 学习笔记_105_特殊工具与技术 --联合:节省空间的类

特殊工具与技术 --联合:节省空间的类 联合是一种特殊的类。一个 union 对象可以有多个数据成员,但在任何时刻,只有一个成员可以有值。当将一个值赋给 union 对象的一个成员的时候,其他所有...

c++类成员变量的初始化顺序以及特殊成员的初始化方法规则

说到类的成员变量的初始化顺序,对于初学者很多容易混淆其顺序,以为简单的按初始表来初始化,其实不然,现在我来详细讲解下类的初始化顺序: 首先由简单开始: class people { public: ...

C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型)...
  • public
  • public
  • 2012年10月24日 09:33
  • 1475

C++类特殊数据成员总结(常数据成员、静态数据成员、静态常数据成员)

一、引言 C++中类的成员变量有以下几种特殊的类型: 1、常成员变量 2、静态成员变量 3、静态常成员变量(基本数据类型) 4、静态常成员变量(自定义数据类型) 二、常成员变量 C+...

C++类特殊成员变量(引用、静态、常成员变量)的初始化操作

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型)...

【BigHereo 31】---L4---C++类,对象及特殊函数

L4---C++类,对象及特殊函数   一,【前言】       类和对象有什么关系呢? 它们内部又有什么样的特殊函数?在本博文中, 结合着C++考试真题中的知识点,我在这里进行一个小结一番.先从几个...

C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型)...

C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a.引用 b.常量 c.静态 d.静态常量(整型) e...

C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法 --转

有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: a.引用 b.常量 c.静态 d.静态常量(整型) e.静态常量(非整型)...

Python学习29:使用特殊的方法定制类(类似于c++的运算符重载)

使用Pythonde 特殊方法可以实现:    模拟
  • jiezhj
  • jiezhj
  • 2014年08月01日 13:29
  • 387
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 特殊的类
举报原因:
原因补充:

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