一个永远无法被初始化的指针:
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++语法真怪异。
一个永远无法被初始化的指针:相关推荐
- php语言指针的初始化定义,指针变量的初始化,C语言指针变量初始化详解
本节来解决如何给一个指针变量初始化.即怎样使一个指针变量指向另一个变量. 前面章节中的某些程序实际上已经使用了,即可以用赋值语句使一个指针变量得到另一个变量的地址,从而使它指向该变量.比如: int ...
- 一个题目引发的数组和指针复习
目录 题目 解题思路 数组复习实践 指针复习实践 题目 int a[2][2][3] = {{{1, 2, 3}, {4, 5, 6}}, {{7, 8, 9}, {10, 11, 12}}};int ...
- 一个C语言的基本教程—指针篇
文章目录 9. C语言真正的灵魂--指针 (1). 指针到底是什么? (2). 指针的基本结构 (3). 取地址(&)和解引用(*)操作符 (4). 指针有什么用呢? #1.swap函数的例子 ...
- 指针作用、指针与指针变量、指针的定义与初始化、指针赋值
目录 一.指针的作用 二.指针与指针变量 1.变量的地址 2.指针与指针变量的概念 三.指针的定义与初始化 1.指针的定义 2.直接访问与间接访问 3.指针的初始化 四.取地址与指针运算符及指针赋值运 ...
- C语言一个小小的问题引起的对指针的探究。。。
C语言一个小小的问题引起的对指针的探究... 废话不多说.下面是这个大家认识的一个及其简单的程序: 1 #include <stdio.h> 2 void A(int a[]) 3 { 4 ...
- 创建一个Dog类,初始化构造方法具有name和age属性。Dog类具有坐和打滚的方法。请编写相应的类并创建对象调用该类。
创建一个Dog类,初始化构造方法具有name和age属性.Dog类具有坐和打滚的方法.请编写相应的类并创建对象调用该类. class Dog(object):def __init__(self,nam ...
- PyTorch学习笔记:针对一个网络的权重初始化方法
# 针对一个网络的权重初始化方法 import torch import torch.nn as nn## 建立一个测试网络 class TestNet(nn.Module):def __init__ ...
- 每一个人梦的远方,都拥有一座玫瑰色的城。那里住着一个永远忘不掉的人
每一个人梦的远方,都拥有一座玫瑰色的城.那里住着一个永远忘不掉的人 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdow ...
- 开源阅读书源_阅读_一个永远不会失效的小说阅读软件
对于一个爱看小说的人阅读这款APP应该不陌生,不是那些手机里自带的"阅读"哦! 软件界面: 从界面来看是十分精美的,布局完全按照用户需求布置,操作十分简单.现在的小说阅读软件要不就 ...
最新文章
- 推荐大家使用的CSS书写规范、顺序
- Android 生成keystore,两种方式(转载)
- golang copy函数
- Java程序员的日常—— Arrays工具类的使用
- 怎么实现事务_你可能知道事务的四大特性,但是不一定知道“事务的实现原理”...
- 切换oracle用户impdp,Oracle 12c pdb使用expdp/impdp导入导出
- 硬盘使用GPT方式安装windows 10方法
- UIButton在不同状态下显示不同背景色
- 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。...
- Android_View,ViewGroup,Window之间的关系
- 关于Universal-Image-Loader加载同一张图只成功一张的问题
- 2021国内市场CRM软件排行榜
- 易控INSPEC软件与欧姆龙PLC以太网通讯
- 3DGIS 与 BIM 融合技术方案
- java 测试网络_java Ping操作(测试网络)
- Delphi 生成二维码【PaintBox】并保存为本地文件添加至【Image】控件中
- 第三种最小生成树算法 Borůvka算法
- 解决kubernetes启动容器时,容器一直是ContainerCreating不能running
- Spark2.0机器学习系列之2:Logistic回归及Binary分类(二分问题)结果评估
- ie8上传图片获取文件大小
热门文章
- 浙江财经大学java试卷_2020年浙江财经大学社会保障考研真题试卷及试题答案,管理学考研试题下载...
- 小米五android o卡吗,【图片】小米5优化教程,吃鸡卡的进来!!!_小米5吧_百度贴吧...
- pb打印选择页数_要想打印不卡纸,卡纸原因要了解
- 如何保证进程间同步工作_软件测试新玩法,看这5家科技巨头如何组织质量保证工作?...
- Spark PruneDependency 依赖关系 RangePartitioner
- 为什么要学网络营销?
- Java:字符串类String的功能介绍
- iOS 开发之时间选择器
- targetSdkVersion
- vue数据源转json问题