1.内联成员函数可以写成虚函数吗??重写可以写成仅返回值不同吗??

没有意义,因为运行的时候还是动态绑定。。。

#include <iostream>
using namespace std;
class A
{
public:virtual void p() ;
};class B: public A
{
public:void p();
};
inline void A::p() { cout << "A" << endl; }
inline void B::p() {cout << "B" << endl;}
int main()
{A* ptr = new B;ptr->p();delete ptr;return 0;
}

结果: B

重写不能写成仅返回值不同,不然编译器会报错。。

2.可以用多个using编译指令吗?如果这些namespace里面有名称重复的变量怎么办?

1.可以用多个using编译指令

2.有重复的话会编译报错

3.静态成员变量的定义?声明?初始化?

class A
{
private:static int a;
};
int A:: a = 2;

可以在int main()或其他函数中初始化吗?

不能!!必须在.cpp里面全局初始化

4.const成员函数

const成员函数不能调用非const成员函数

const对象只能调用const成员函数

5.构造函数可以定义为const的吗?

坚决不能,因为编译器会将成员变量修改为随机值

6.析构函数可以定义为const的吗?

坚决不能

7.哪些成员不能被继承??

构造函数(包括拷贝构造)
析构函数
重载的赋值运算符
友元

重载的其他的运算符呢?

可以被继承

class A
{
protected: unordered_map<int, int> m;
public:int operator[](int a) { return m[a]; }
};class B :public A
{
public:B() {}B(int key, int val) { m[key] = val; }
};int main()
{B b(1, 2);cout << b[1] << endl; // 直接打印2, 没问题return 0;
}

8.哪些函数不能写成虚函数?

普通函数和友元函数(这两个都不是成员函数)
静态成员函数
构造函数
想直接按照内联函数展开

9.重载的运算符可以写成虚函数吗?

可以

10.什么是部分具体化?

template <class T>
void func(T& a, int b)
{cout << "func int" << endl;
}template <class T>
void func(T& a, float b)
{cout << "func float" << endl;
}int main()
{int a = 1;int aa = 1;float bb = 1.0;func(a, aa); // func(T&a, int n);func(a, bb); // func(T&a, float n);return 0;
}

11.int (*s[10])(int)是什么?

函数指针数组,每个数组指向int func(int)

12.free 一个对象的指针发生了什么?(这题我还是不知道啊。。。也许是空闲链表?)

会释放内存??

13.设计一个只能在栈上的类(思路:重载new和delete)

class A
{
private:void* operator new(szie_t n) {};void operator delete(void* p) {};
public:A() {}~A() {}
};

14.设计一个只能在堆上的类

(思路:将构造函数和析构函数设置为private,利用静态方法生成对象,手动释放)

class A
{
protected:A() {}~A() {}
public:static A* get() {return new A();}void destroy() {delete this;}
};int main()
{A* p = A::get();p->destroy();return 0;
}

一些c++的常见问题(系列一)相关推荐

  1. 【数字IC前端】UVM常见问题系列

    以下内容搬运自 数字芯片实验室 公众号,安利一波良心博主 (本人已为知识付费,只是搬运学习用作整理,希望大家也去付费支持一波) 原博文链接 1.什么是UVM?它的优势是什么? 2.uvm_compon ...

  2. CTP常见问题系列之一 “CTP : 不合法的登录“

    这一系列我们来讲讲CTP开发中常见的一些问题,主要参考QQ群里面常被问到的一些.这些问题经常出现,有的甚至是"日经"问题.每次反复解释不胜其烦,于是干脆就总结成这个系列. 程序化交 ...

  3. ubuntu 常见问题系列:E:Could not get lock /var/lib/dpkg/lock-frontend - open

    出错命令: 一个普通的下载命令 sudo apt-get install htop 错误提示: E: Could not get lock /var/lib/dpkg/lock-frontend - ...

  4. 数据结构常见问题系列(二)

    文章目录 1. 常用数据结构 2. 什么是链表.队列.栈 3. 什么是树(平衡二叉树.二叉排序树.B树.B+树.R树.红黑树) 1. 常用数据结构 1). 数组:顺序存储,随机访问. 链表:链表存储, ...

  5. jmeter404_Ant+Jmeter 环境搭建-常见问题系列二

    问题十,安装json插件,用于校验json响应的数据 下载地址:http://download.csdn.net/download/sankun/9680868 1.邮件多个收件人:英文逗号分隔! A ...

  6. ubuntu常见问题:E: Package ‘xxx‘ has no installation candidate 解决方法

    提示:ubuntu常见问题系列(学习使用) E: Package 'xxx' has no installation candidate 解决方法 出现了Package has no installa ...

  7. onkeypress属性添加报错_亚马逊运营过程中listing常见报错及应对策略汇总

    亚马逊运营过程中listing常见报错及应对策略汇总 做亚马逊的小哥哥小姐姐们还在为上传产品中的报错提示而抓狂吗?福利来了,总结了17个常见报错,供大家查阅 1.SKU XXXXX, Missing ...

  8. Docker容器——重命名镜像的TAG

    Docker容器--重命名镜像的TAG 背景 日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家 ...

  9. 安全修复之Web——Spring Framework 远程代码执行漏洞

    安全修复之Web--Spring Framework 远程代码执行漏洞 背景 日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系 ...

  10. 安全修复之Web——【中危】启用了不安全的TLS1.0、TLS1.1协议

    安全修复之Web--[中危]启用了不安全的TLS1.0.TLS1.1协议 背景 日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章 ...

最新文章

  1. 亚马逊云服务(AWS)云原生自研处理器首次落地中国区域!
  2. Java 代码精简之道
  3. wordpress安装
  4. 他们让云撸猫变成现实,台湾大学开发手持VR设备解救吸猫人
  5. Ext.NET加入自定义验证JS函数
  6. C语言函数 snprintf()(发送有限字符截断字符串输出到 str 所指向的字符串)(字符串拼接、截断拼接)
  7. 漫谈高数曲线积分的物理意义
  8. 和佳股份有没有纳米机器人_新高赛复赛入围项目(49)一种纳米硅质绝热材料及其制备方法...
  9. Dubbo是如何进行远程服务调用的?(源码流程跟踪)
  10. 华为RH2288v3服务器安装ESXI 6.7U3(转载)
  11. 苹果发布 2017 年度应用榜单,你的 App 榜上有名吗?
  12. python安装目录结构_1.5 python安装目录介绍《Python基础开发入门到精通》
  13. python html转图片失真_html dom 转化成图片踩坑记(canvas toDataURL)
  14. mapper.xml 的配置
  15. 【Win】KMS 激活命令记录
  16. RGB颜色值与十六进制颜色码
  17. php图片是啥,PHP图片操作
  18. 经典VU仪表的混音效果工具
  19. Flash Play无法安装的解决办法
  20. 数据指标拆解(一)社区团购--美团优选

热门文章

  1. 纠错--跟我学Java第44页
  2. PHP任何类转对象访问
  3. 开贴整理QtEmbedded/Qtopia FAQ --- 不可不看的精华都在这里哦[转]
  4. Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】
  5. 编译安装LNMP Centos 6.5 x64(6.6 x64) + Nginx1.6.0 + PHP5.5.13 + Mysql5.6.19
  6. NET使用了UpdatePanel后如何弹出对话框!
  7. linux中权限的修改
  8. [WCF编程]13.并发:服务并发模式
  9. 读书笔记:《思考的乐趣:Matrix67数学笔记》第4章 统计数据的陷阱
  10. SRM遇到的一个数论技巧——最大公约数和最小公倍数的关系