题目描述

xiaoping刚接触类的构造和析构函数,对于构造函数的编写比较困惑。zhuangzhuang给小平布置了一道题目,xiaoping苦思两天也无法解答,请你帮帮xiaoping吧。

#include <iostream>
using namespace std;
class XiaoPing
{
private:
    int state;   //用来记录是否有参数
    int data;
public:

XiaoPing();
    XiaoPing(int data);
    ~XiaoPing();
};
//////////////////////////////////////////////

只需完成并提交该部分代码

///////////////////////////////////////////////
XiaoPing::~XiaoPing()
{
    if(state)
        cout<<"destroy an object with a parameter:"<<data<<endl;
    else
        cout<<"destroy an object with no parameter"<<endl;
}
int main()
{
    int data;
    XiaoPing zeropara1;
    cin>>data;
    XiaoPing onepara1(data);
    XiaoPing zeropara2;
    cin>>data;
    XiaoPing onepara2(data);
    return 0;
}

输入

输入两行。每行一个整数,表示构造函数的参数值。

输出

按照题意输出构造函数和析构函数的调用顺序和信息。

样例输入

1
2

样例输出

create an object with no parameter
create an object with a parameter:1
create an object with no parameter
create an object with a parameter:2
destory an object with a parameter:2
destory an object with no parameter
destory an object with a parameter:1
destory an object with no parameter
#include <iostream>
using namespace std;
class XiaoPing
{
private:
int state; //用来记录是否有参数
int data;
public: XiaoPing();
XiaoPing(int data);
~XiaoPing();
};
XiaoPing::XiaoPing()
{
state = 0;
cout << "create an object with no parameter" << endl;
}
XiaoPing::XiaoPing(int n)
{
data = n;
state = 1;
cout << "create an object with a parameter:" << data << endl;
}
XiaoPing::~XiaoPing()
{
if(state)
cout<<"destroy an object with a parameter:"<<data<<endl;
else
cout<<"destroy an object with no parameter"<<endl;
}
int main()
{
int data;
XiaoPing zeropara1;
cin>>data;
XiaoPing onepara1(data);
XiaoPing zeropara2;
cin>>data;
XiaoPing onepara2(data);
return 0;
}

  

问题 A: xiaoping学构造函数的更多相关文章

  1. YTU 2914: xiaoping学构造函数

    2914: xiaoping学构造函数 时间限制: 1 Sec  内存限制: 128 MB 提交: 148  解决: 90 题目描述 xiaoping刚接触类的构造和析构函数,对于构造函数的编写比较困 ...

  2. 学JAVA第十三天,方法、方法重载及构造函数

    今天终于不讲狗跳楼的问题了,今天讲了方法,方法重载及构造函数及构造函数重载的课程了. 这里说了有参好无参的,下面讲构造函数重载和方法重载. 其实,这上面写的这些方法,就相当一个模板.想要快速做出产品就 ...

  3. C++ 构造函数【新手必学】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:可乐司机构造函数是C++里面的基础内容,特别重要,如果你刚学C++不久, ...

  4. 那些年我们学过的构造函数(构造方法,C#)

    构造函数也称构造方法,在面向对象中称为构造方法,在面向过程中称为构造函数;C#是面向对象的语言,所以以下都称为构造方法, OK,下面我们先看一下什么是构造函数 class Dog { //创建一个狗类 ...

  5. 从零开始学C++之继承(二):继承与构造函数、派生类到基类的转换

    一.不能自动继承的成员函数 构造函数 析构函数 =运算符 二.继承与构造函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数. 声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类 ...

  6. 从零开始学C++之构造函数与析构函数(三):深拷贝与浅拷贝、空类

    一.深拷贝与浅拷贝 说得简单点,假设一个类有指针成员,如果在拷贝的时候顺带连指针指向的内存也分配了,就称为深拷贝:如果只是分配指针本身的内存,那就是浅拷贝.浅拷贝造成的问题是有两个指针指向同块内存,d ...

  7. 从零开始学C++之构造函数与析构函数(二):初始化列表(const和引用成员)、拷贝构造函数

    一.构造函数初始化列表 推荐在构造函数初始化列表中进行初始化 构造函数的执行分为两个阶段 初始化段 普通计算段 (一).对象成员及其初始化  C++ Code  1 2 3 4 5 6 7 8 9 1 ...

  8. 从零开始学C++之构造函数与析构函数(一):构造函数、析构函数、赋值与初始化、explicit关键字

    一.构造函数.默认构造函数 (1).构造函数 构造函数是特殊的成员函数 创建类类型的新对象,系统自动会调用构造函数 构造函数是为了保证对象的每个数据成员都被正确初始化 函数名和类名完全相同 不能定义构 ...

  9. Javascript我学之六对象工厂函数与构造函数

    本文是金旭亮老师网易云课堂的课程笔记,记录下来,以供备忘. 概述 使用对象字面量,或者向空对象中动态地添加新成员,是最简单易用的对象创建方法. 然而,除了这两种常用的对象创建方式,JavaScript ...

随机推荐

  1. 傻瓜式Spring教学第一课

    首先,把Spring需要的五个包导入项目: commons-logging-1.2.jar spring-beans-4.3.4.RELEASE.jar spring-context-4.3.4.RE ...

  2. SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN

    JOIN: 如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只 ...

  3. Vue.js-----轻量高效的MVVM框架(十二、组件动态切换)

    在写html的过程中,我们经常会遇到要写tabs的切换,类似于这样: 在vue中,我们也有自己的组件和属性来实现这样的效果,这个东西我们叫做动态组件. html: <h3>动态组件< ...

  4. VUE验证器哪家强? VeeValidate absolutely!

    VUE验证器哪家强? VeeValidate absolutely! vee-validate表单验证用法 github地址:https://github.com/baianat/vee-valida ...

  5. requirej入门(二)

    requirejs中的一些基本知识,包括API使用方式等. 基本API require会定义三个变量:define,require,requirejs,其中require === requirejs, ...

  6. JavaSE---反射(未完待续)

    1.概述 1.1 Java程序中许多对象在运行时会出现2种类型:编译时类型.运行时类型: eg:Person  person=new Student(); 这行代码在编译时为Person类型,运行时为 ...

  7. inventor删除不干净

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  8. Magnum DevStack安装

    local.conf文件 [[local|localrc]]DATABASE_PASSWORD=123456RABBIT_PASSWORD=123456SERVICE_TOKEN=123456SERV ...

  9. zuul路由网关

    zuul作为网关组件,主要用来管理api请求接口(统一对外暴露,负载均衡),身份认证,流量监控等.它是通过servlet来实现的,核心是一系列过滤器,可以在请求的发起跟相应返回阶段进行一系列的处理. ...

  10. 创建weblogic受管理服务器和安全文件

    启动 admin server Oracle/Middleware/user_projects/domains/base_domain/bin> startWebLogic.sh 1创建受管服务 ...