《C++语言基础》程序阅读——构造函数和析构函数-阿里云开发者社区

开发者社区> 贺利坚> 正文

《C++语言基础》程序阅读——构造函数和析构函数

简介: 返回:贺老师课程教学链接 请写出下面程序的运行结果,再和计算机运行的结果对照。无论对错,再想一想。 #include <iostream> using namespace std; class A { int a , b ; public : A( ) { a=b=0; cout <<"a="<<a
+关注继续查看

返回:贺老师课程教学链接

请写出下面程序的运行结果,再和计算机运行的结果对照。无论对错,再想一想。

#include <iostream>
using namespace std;
class A
{
    int a , b ;
public :
    A( ) 
    {
        a=b=0;
        cout <<"a="<<a<<","<<"b="<<b<<endl;
    }
    A(int aa, int bb): a(aa),b(bb)
    {
        cout <<"a="<<a<<","<<"b="<<b<<endl;
    }
    ~A( )
    {
        cout<<"Destructor "<<a<<" "<<b<<endl;
    }
};
int main()
{
    A x, y(2, 3);
    return 0;
}


#include <iostream>
using namespace std;
class A
{
public:
    A()
    {
        cout<<"A";
    }
    ~A()
    {
        cout<<"~A";
    }
};
class B
{
    A *p;
public:
    B()
    {
        cout<<"B";
        p=new A();
    }
    ~B()
    {
        cout<<"~B";
        delete p;
    }
};
int main()
{
    B obj;
    return 0;
}

#include <iostream>
using namespace std;
class toy
{
public:
    toy(int q, int p)
    {
        quan = q;
        price = p;
    }
    int get_quan()
    {
        return quan;
    }
    int get_price()
    {
        return price;
    }
private:
    int quan, price;
};
int main()
{
    toy op[3][2]=
    {
        toy(10,20),toy(30,48),
        toy(50,68),toy(70,80),
        toy(90,16),toy(11,120)
    };
    int i;
    for (i=0; i<3; i++)
    {
        cout<<op[i][0].get_quan()<<",";
        cout<<op[i][0].get_price()<<"\n";
        cout<<op[i][1].get_quan()<<",";
        cout<<op[i][1].get_price()<<"\n";
    }
    cout<<"\n";
    return 0;
}


#include <iostream>
using namespace std;
class DA
{
    int k;
public:
    DA(int x=1): k(x) { }
    ~DA()
    {
        cout<<k;
    }
};
int main()
{
    DA d[]= {DA(3),DA(3),DA(3) };
    DA *p=new DA[2];
    delete []p;
    return 0;
}








版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
第10周-任务0-构造和析构函数的执行过程实例解析
【题目】阅读程序,先分析程序的执行结果,在上机时运行程序进行对照,再通过单步执行跟踪程序的运行,达到理解基类、派生类中构造函数、析构函数执行过程的目的。 程序如下: #include &lt;iostream&gt; using namespace std; class Part  //部件类 { public:     Part();     Part(int i);     ~
934 0
青铜到王者 ,快速提升你 Go语言的段位! "狗"语言实战(二)- 基础语法
1 变量定义 var 语句定义了一个变量的列表;跟函数的参数列表一样,类型在后面。 就像在这个例子中看到的一样,var 语句可以定义在包或函数级别。
960 0
+关注
贺利坚
烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
1965
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载