1.

默认构造函数和不带参数的构造函数之间无联系

默认构造函数是编译器发现类不存在显式构造函数时自动生成的无参数的构造函数。同样,用户可以定义显示的无参数构造函数。

2.

在构造函数、析构函数中调用virtual 函数。并不会得到预期的结果。virtual函数在此时会"丢失"virtual性质。

3.

构造函数无参数的时候

 #ifndef UNTITLED2_TEST_H
#define UNTITLED2_TEST_H #include <stdio.h>
class test {
public:
test()
{
printf("call test()\n");
}
test(char c)
{
printf("call test(char)");
}
}; #endif //UNTITLED2_TEST_H
 #include "test.h"
int main() {
test t;//申明一个变量
test tt();//声明一个函数。
test tc('c'); //申明一个变量
return ;
}
/Users/like1/CLionProjects/untitled2/cmake-build-debug/untitled2
call test()
call test(char)
Process finished with exit code 0

test t();并不会像test t;调用test::test()构造函数,仅仅是申明了一个函数,返回类型是test,无参数,函数名是t。

4.

test tc = t;

test* t = &tc;

并不会调用operator=(test& t);而是调用test(test& t);

5.

new delete 和 malloc() free() 的行为存在共性,但不等价。

new 和 delete 会在分配内存后调用类的构造函数,析构函数。

6.

test t;
test tt = t;

这样的定义语句不一定正确。

#ifndef UNTITLED2_UN_COPY_ASSIGN_H
#define UNTITLED2_UN_COPY_ASSIGN_H class un_copy_assign {
public:
un_copy_assign();
private:
un_copy_assign(un_copy_assign& c);
un_copy_assign& operator=(un_copy_assign& c);
}; #endif //UNTITLED2_UN_COPY_ASSIGN_H
#ifndef UNTITLED2_TEST_H
#define UNTITLED2_TEST_H #include "un_copy_assign.h"
#include <stdio.h>
class test : public un_copy_assign{
public:
test():un_copy_assign()
{
printf("call test()\n");
}
test(char c):un_copy_assign()
{
printf("call test(char)");
}
}; #endif //UNTITLED2_TEST_H

http://www.cnblogs.com/like1/p/6852528.html

C++ 中的一些错觉的更多相关文章

  1. CGroup Namspace

    CGroup 介绍 CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制.记录.隔离 进程组 (process groups) 所使用的物力资源 (如 cpu ...

  2. ASP.Net Core开发(踩坑)指南

    ASP.NET与ASP.NET Core很类似,但它们之间存在一些细微区别以及ASP.NET Core中新增特性的使用方法,在此之前也写过一篇简单的对比文章ASP.NET MVC应用迁移到ASP.NE ...

  3. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  4. (Python OpenGL)【5】平移 PyOpenGL

    (Python OpenGL) 原文:http://ogldev.atspace.co.uk/www/tutorial06/tutorial06.html  (英文) 下面是我翻译过来的: 背景 在本 ...

  5. 15、docker

    15.0.服务器使用说明: 服务器名称 ip地址 controller-node1 172.16.1.90 15.1.docker介绍: 1.Docker 是一个开源的应用容器引擎,基于 Go 语言 ...

  6. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  7. 浅解析js中的对象

    浅解析js中的对象 原文网址:http://www.cnblogs.com/foodoir/p/5971686.html,转载请注明出处. 前面的话: 说到对象,我首先想到的是每到过年过节见长辈的时候 ...

  8. Windows中使用OpenBLAS加速R语言计算速度

    在使用R的时候会发现R对CPU的利用率并不是很高,反正当我在使用R的时候,无论R做何种运算R的CPU利用率都只有百分子几,这就导致一旦计算量大的时候计算时间非常长,会给人一种错觉(R真的在计算吗?会不 ...

  9. PHP中的SESSION机制

    [转] php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧.   c ...

随机推荐

  1. React+Node初尝试

    这是第一次写React和Node,选用的是前端Material-ui框架,后端使用的是Express框架,数据库采用的是Mongodb. 项目代码在:GitHub/lilu_movie 这是一个通过从 ...

  2. 微服务--webapi实现,脱离iis,脱离tomcat

    前言 微服务,顾名思义就是微小的单一的服务程序,单一流程,单一发布,开发和部署都可独立: 这是我的理解: 但基于web的服务,不管是webservice还是webapi等类似的服务都需要基于iis或者 ...

  3. 记一次解析XML转对象的笔记

    项目中调用第三方API,返回格式是XML字符串,需要将XML反序列化为对象,格式如下: <?xml version="1.0"?> <Response xmlns ...

  4. Git 入门和常用命令详解

    git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...

  5. pygame加载中文名mp3文件出现error

    好一阵子没有写东西了,最近几天在做一个基于Python pygame的音乐播放器,本来想做完了,再来发篇文章的,可越做越深,框架大致出来了,考虑周期比较长,也可能是我个人问题,做得比较慢,最近.下面来 ...

  6. css远距离链接

    远距离链接主要运用了hover伪类,但是运用了两次 <!DOCTYPE html> <html lang="en"> <head> <me ...

  7. jenkins+docker+maven+svn

    环境介绍 1.        软件需求 Jenkins  本次实验所用版本1.5.1 下载链接:https://jenkins.io/index.html Docker 本次实验所用版本 17.03. ...

  8. POJ1275出纳员的雇佣【差分约束】

    出纳员的雇佣 Tehran的一家每天24小时营业的超市,需要一批出纳员来满足它的需要.超市经理雇佣你来帮他解决问题:超市在每天的不同时段需要不同数目的出纳员(例如:午夜时只需一小批,而下午则需要很多) ...

  9. 手机自动化测试:appium源码分析之bootstrap一

    手机自动化测试:appium源码分析之bootstrap一   前言: poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.popte ...

  10. UVa/数组和字符串习题集

    UVa-272. Description: TEX is a typesetting language developed by Donald Knuth. It takes source text ...