• 自考新教材-p159


    源程序:

    #include<iostream>
    using namespace std;

    class pointer
    {
    public:
    int a;
    int *p; //指向整型数的指针
    pointer()
    {
    a=100;
    p=new int(10);
    }
    pointer(const pointer &tempp)
    {
    if(this != &tempp)
    {
    a=tempp.a;
    p=tempp.p;
    }
    }
    };

    int main()
    {
    pointer p1; //使用默认构造函数
    pointer p2(p1); //使用复制构造函数
    pointer p3=p1; //使用复制构造函数
    cout<<" 初始化后,各对象的值及内存地址"<<endl;
    cout<<"对象名 对象地址 a的值 p中的值 p指向的值 p的地址"<<endl;
    cout<<"p1: "<<&p1<<","<<p1.a<<","<<p1.p<<","<<*p1.p<<","<<&p1.p<<endl;
    cout<<"p2: "<<&p2<<","<<p2.a<<","<<p2.p<<","<<*p2.p<<","<<&p2.p<<endl;
    cout<<"p3: "<<&p3<<","<<p3.a<<","<<p3.p<<","<<*p3.p<<","<<&p3.p<<endl;
    *p1.p=20;
    p2.a=300;
    cout<<" 修改后,各对象的值及内存地址"<<endl;
    cout<<"对象名 对象地址 a的值 p中的值 p指向的值 p的地址"<<endl;
    cout<<"p1: "<<&p1<<","<<p1.a<<","<<p1.p<<","<<*p1.p<<","<<&p1.p<<endl;
    cout<<"p2: "<<&p2<<","<<p2.a<<","<<p2.p<<","<<*p2.p<<","<<&p2.p<<endl;
    cout<<"p3: "<<&p3<<","<<p3.a<<","<<p3.p<<","<<*p3.p<<","<<&p3.p<<endl;
    return 0;
    }

    运行结果:

  • 相关阅读:
    Mac eclipse导入项目中文乱码问题解决
    初识Freemarker
    Mac 导入maven项目详解
    Mac iTerm2使用总结
    HTML学习笔记——标签
    仿QQ大战—界面篇
    Java之类的构造器(反射)
    JAVA之IO流(字符流)
    JAVA之IO流(字节流)
    仿QQ大战—服务器的搭建(ServerSocket)
  • 原文地址:https://www.cnblogs.com/duanqibo/p/12259057.html
Copyright © 2020-2023  润新知