c++中的禁用构造,够狠的,连自己的成员都构造不成了!

class A{

private:

A(){}

static A* pa;

};

这样pa就永远无法初始化,如下代码会报错:

#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
class A{
private:
friend class ASister;
A(){}
static A* pa;
public:
void hello() const {
cout<<"Hello!"<<endl;
}
};
static A::A*pa = new A();
//const static  A  pa;
int main(int argc, char* argv[])
{
a->hello();
system("PAUSE");
}
报错如下:
10 C:\Users\Administrator\Documents\main.cpp `A::A()' is private 

这就是C++的一个大缺陷。

#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
class A{
private:
A(){}
static A* pa;
public:
void hello() const {
cout<<"Hello!"<<endl;
}
static A* getA(){
if(!pa)pa = new A();
return pa;
}
};
A*A::pa;
//const static  A  pa;
int main(int argc, char* argv[])
{
A* a =   A::getA();
a->hello();
system("PAUSE");
}

时隔几年回过头来再看,还是蛮有意思。呵呵。C++语法真怪异。

一个永远无法被初始化的指针:相关推荐

  1. php语言指针的初始化定义,指针变量的初始化,C语言指针变量初始化详解

    本节来解决如何给一个指针变量初始化.即怎样使一个指针变量指向另一个变量. 前面章节中的某些程序实际上已经使用了,即可以用赋值语句使一个指针变量得到另一个变量的地址,从而使它指向该变量.比如: int ...

  2. 一个题目引发的数组和指针复习

    目录 题目 解题思路 数组复习实践 指针复习实践 题目 int a[2][2][3] = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}};int ...

  3. 一个C语言的基本教程—指针篇

    文章目录 9. C语言真正的灵魂--指针 (1). 指针到底是什么? (2). 指针的基本结构 (3). 取地址(&)和解引用(*)操作符 (4). 指针有什么用呢? #1.swap函数的例子 ...

  4. 指针作用、指针与指针变量、指针的定义与初始化、指针赋值

    目录 一.指针的作用 二.指针与指针变量 1.变量的地址 2.指针与指针变量的概念 三.指针的定义与初始化 1.指针的定义 2.直接访问与间接访问 3.指针的初始化 四.取地址与指针运算符及指针赋值运 ...

  5. C语言一个小小的问题引起的对指针的探究。。。

    C语言一个小小的问题引起的对指针的探究... 废话不多说.下面是这个大家认识的一个及其简单的程序: 1 #include <stdio.h> 2 void A(int a[]) 3 { 4 ...

  6. 创建一个Dog类,初始化构造方法具有name和age属性。Dog类具有坐和打滚的方法。请编写相应的类并创建对象调用该类。

    创建一个Dog类,初始化构造方法具有name和age属性.Dog类具有坐和打滚的方法.请编写相应的类并创建对象调用该类. class Dog(object):def __init__(self,nam ...

  7. PyTorch学习笔记:针对一个网络的权重初始化方法

    # 针对一个网络的权重初始化方法 import torch import torch.nn as nn## 建立一个测试网络 class TestNet(nn.Module):def __init__ ...

  8. 每一个人梦的远方,都拥有一座玫瑰色的城。那里住着一个永远忘不掉的人

    每一个人梦的远方,都拥有一座玫瑰色的城.那里住着一个永远忘不掉的人 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdow ...

  9. 开源阅读书源_阅读_一个永远不会失效的小说阅读软件

    对于一个爱看小说的人阅读这款APP应该不陌生,不是那些手机里自带的"阅读"哦! 软件界面: 从界面来看是十分精美的,布局完全按照用户需求布置,操作十分简单.现在的小说阅读软件要不就 ...

最新文章

  1. 推荐大家使用的CSS书写规范、顺序
  2. Android 生成keystore,两种方式(转载)
  3. golang copy函数
  4. Java程序员的日常—— Arrays工具类的使用
  5. 怎么实现事务_你可能知道事务的四大特性,但是不一定知道“事务的实现原理”...
  6. 切换oracle用户impdp,Oracle 12c pdb使用expdp/impdp导入导出
  7. 硬盘使用GPT方式安装windows 10方法
  8. UIButton在不同状态下显示不同背景色
  9. 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。...
  10. Android_View,ViewGroup,Window之间的关系
  11. 关于Universal-Image-Loader加载同一张图只成功一张的问题
  12. 2021国内市场CRM软件排行榜
  13. 易控INSPEC软件与欧姆龙PLC以太网通讯
  14. 3DGIS 与 BIM 融合技术方案
  15. java 测试网络_java Ping操作(测试网络)
  16. Delphi 生成二维码【PaintBox】并保存为本地文件添加至【Image】控件中
  17. 第三种最小生成树算法 Borůvka算法
  18. 解决kubernetes启动容器时,容器一直是ContainerCreating不能running
  19. Spark2.0机器学习系列之2:Logistic回归及Binary分类(二分问题)结果评估
  20. ie8上传图片获取文件大小

热门文章

  1. 浙江财经大学java试卷_2020年浙江财经大学社会保障考研真题试卷及试题答案,管理学考研试题下载...
  2. 小米五android o卡吗,【图片】小米5优化教程,吃鸡卡的进来!!!_小米5吧_百度贴吧...
  3. pb打印选择页数_要想打印不卡纸,卡纸原因要了解
  4. 如何保证进程间同步工作_软件测试新玩法,看这5家科技巨头如何组织质量保证工作?...
  5. Spark PruneDependency 依赖关系 RangePartitioner
  6. 为什么要学网络营销?
  7. Java:字符串类String的功能介绍
  8. iOS 开发之时间选择器
  9. targetSdkVersion
  10. vue数据源转json问题