一、C++对象的创建:

    对象创建的注意事项:

      1.对象数组里的个数,就是创建对象的个数,普通数组一样;下标从0 到数组里数字 -1;

      2.类名*  对象指针   <-->  这里只是一个指针,占4个字节,所以就不得初始化;

#include <iostream>
using namespace std; class A{
public: int f;
A(){
cout<<"调用了构造函数"<<endl;
}
~A()
{
cout<<"hh"<<endl;
}
}; int main(void){ A a[]; //对象数组,这里产生4个对象,和数组有差别;
cout<<endl;
A b;
cout<< endl;
A *p;//这里是一个A类的对象指针,占用4个字节,类的大小不止4个字节;并不会调用构造函数 return ;

  这里的执行结果是

  

调用了构造函数
调用了构造函数
调用了构造函数
调用了构造函数

调用了构造函数

hh
hh
hh
hh
hh

继承关系的构造函数和析构函数

1.

#include <iostream>
using namespace std; class A{
public:
A(){
cout<< "A.constructor"<<endl;
}
~A(){
cout<<"A.deconstructor"<<endl;
}
}; class B :public A{
public:
B(){
cout<<"B.constructor"<<endl;
}
~B(){
cout<<"B.deconstructor"<<endl;
}
}; int main(void){
//A* a ;
B* p = new B();
delete p;
return ;
}

上述代码执行结果:

A.constructor
B.constructor
B.deconstructor
A.deconstructor

--------------------------------

B* p ; 这样是不会执行构造函数,析构函数 ,

B* p = new B(); 创建一个指针对象*p ,只进行A,B的构造函数

delete p;// 这里是相当于执行析构函数

----

若上述代码只有定义对象

A *a; 不会进行任何操作

A* a = new A()  这样会执行A类构造函数

delete a ;这句会执行 析构函数的东西

#include <iostream>
using namespace std; class A{
public:
A(void){
m_name = "";
m_age = ;
cout<<"A.c"<<endl;
}
A(string const& name,int age):m_name(name),m_age(age){
cout<<m_name<<m_age<<endl;
} ~A(){
cout<<"A.d"<<endl;
}
private:
int m_age;
string m_name;
}; int main(void){
//下面的这几种都会完成对象创建过程中执行的基本操作:构造->析构
//A a;
A a = A();
//A a = A();
//A a("张飞",25);
//A a = A("张飞",25); //下面这三种情况只能new出来构造函数,和malloc区别的是,new
//能够调用构造函数,而malloc则不会
//A* a = new A;
//A* a = new A();
//A* a = new A("张飞",25);
}

  二、return、break、exit 三个关键字的解释

   1.return 针对函数返回值时候的一种退出

   2.break,只在循环语句中,起到退出循环的作用

   3.exit(status) 这个是直接结束进程,程序就不会再执行

C++ 对象创建的问题的更多相关文章

  1. Java中对象创建过程

    本文介绍的对象创建过程仅限于普通Java对象,不包括数组和Class对象. 1.类加载检查 虚拟机遇到一条new指令时,首先去检查该指令的参数能否在常量池中定位到一个类的符号引用,并且检查这个符号引用 ...

  2. Progress.js – 为页面上的任意对象创建进度条效果

    Progress.js 是一个 JavaScript 和 CSS3 的库,它帮助开发人员为网页上的每个对象创建和管理进度条效果.你可以设计自己的模板,进度条或者干脆定制. 您可以使用 Progress ...

  3. 《JavaScript模式》第5章 对象创建模式

    @by Ruth92(转载请注明出处) 第5章:对象创建模式 JavaScript 是一种简洁明了的语言,并没有其他语言中经常使用的一些特殊语法特征,如 命名空间.模块.包.私有属性 以及 静态成员 ...

  4. C#与数据库访问技术总结(六)之Command对象创建SQl语句代码示例

    Command对象创建SQl语句代码示例 说明:前面介绍了 Command 对象的方法和一些属性,回顾一下 Command对象主要用来执行SQL语句.利用Command对象,可以查询数据和修改数据. ...

  5. javascript一种新的对象创建方式-Object.create()

    1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不 ...

  6. 【JavaScript回顾】对象创建的几种模式

    组合使用构造函数模式和原型模式 创建自定义类型的常见方式,就是组合使用构造函数模式与原型模式.构造函数模式用于定义实 例属性,而原型模式用于定义方法和共享的属性.结果,每个实例都会有自己的一份实例属性 ...

  7. Cocos2d-js中使用纹理对象创建Sprite对象

    本节我们会通过一个实例介绍纹理对象创建Sprite对象使用,这个实例如图5-2所示,其中地面上的草是放在背景(如下图所示)中的,场景中的两棵树是从后图所示的“树”纹理图片中截取出来的,图5-5所示是树 ...

  8. 实例:使用纹理对象创建Sprite对象

    精灵类是Sprite,它的类图如下图所示: Sprite类直接继承了Node类,具有Node基本特征.此外,我们还可以看到Sprite类的派生类有:PhysicsSprite和Skin.Physics ...

  9. Objective-C设计模式——工厂方法模式virtual constructor(对象创建)

    工厂方法模式 工厂方法模式可以控制对象的创建过程,屏蔽对象创建的细节,可以直接创建出我们所需要的已经配置好的对象. 工厂方法模式定义了创建方法的接口,让子类决定实例化哪一个类,工厂方法模式使得一个类的 ...

  10. 无法为请求的 Configuration 对象创建配置文件 错误原因

    Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); 无法为请求的 Configura ...

随机推荐

  1. CF #323 DIV2 D题

    可以知道,当T较大时,对于LIS,肯定会有很长的一部分是重复的,而这重复的部分,只能是一个block中出现次数最多的数字组成一序列.所以,对于T>1000时,可以直接求出LIS,剩下T-=100 ...

  2. 在Ubuntu 14.04 上安装 FTP 服务

    1. sudo apt-get update 2. sudo apt-get install vsftpd 3. adduser sammy Assign a password when prompt ...

  3. 一起talk C栗子吧(第七十七回:C语言实例--DIY ls命令续)

    各位看官们,大家好.上一回中咱们说的是DIY cat命令的样例.这一回咱们说的样例是:DIY ls命令续. 闲话休提,言归正转.让我们一起talk C栗子吧! 我们在前面的章回中DIY过ls命令.时间 ...

  4. HDU 3247 Resource Archiver (AC自己主动机 + BFS + 状态压缩DP)

    题目链接:Resource Archiver 解析:n个正常的串.m个病毒串,问包括全部正常串(可重叠)且不包括不论什么病毒串的字符串的最小长度为多少. AC自己主动机 + bfs + 状态压缩DP ...

  5. 关于PHP会话:session和cookie

    会话处理解决什么问题 HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本.图形.视频和全部其它的数据的规则.HTTP是一种无状态协议,每次请求的处理,都与之前和之后的请求无关. 会话处理是这 ...

  6. 卸载完百度影音以后天气助手还在,而且总是自己主动打开ie浏览器,解决方式

    今天暴风影音不好用了.我就安装了百度影音,还有意外发现.相同的视频,用百度影音看不清楚,然后我就直接卸载了.结果卸掉以天气小助手还是在,而且总弹白色小框框,各种广告.最忍不了的是还自己主动打开ie浏览 ...

  7. 循环遍历Java字符串字符的规范方法——类似python for ch in string

    比如我将string作为CNN 文本处理输入: float [] input = new float[maxLength]; // 1 sentence by maxLenWords // int[] ...

  8. [POI 2008] BLO

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1123 [算法] 首先,如果一个点不是割点,那么,去掉该点后不连通的有序点对就为 : ...

  9. [APIO2008]DNA

    https://zybuluo.com/ysner/note/1158123 题面 戳我 解析 我们要求出第\(r\)种方案,莫过于看其前面什么时候有\(r-1\)种方案. 于是,我们要求出每种情况的 ...

  10. java-com-util-common-service:BaseService.java

    ylbtech-java-com-util-common-service:BaseService.java 1.返回顶部 1. package com.shineyoo.manager.util.co ...