c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数

这篇具有很好参考价值的文章主要介绍了c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象 p1,设计这两个类的构造函数、析构函数和拷贝构造函数。
#include <iostream>

using namespace std;
class Per
{
    string name;
    int age;
    int *hight;
    int *weight;
public:
    void my_set(string name,int age)
    {
        this-> name = name;
        this-> age = age;
    }
    void show()
    {
        cout <<"名字为:" << name << ' ' << "成绩为:" << age << ' ';
        cout << "身高为:" << *hight << ' ' << "体重为:" << *weight << endl;
    }
    Per(int *h,int *w):hight(new int),weight(new int)
    {
        hight=h;
        weight=w;
        cout << "这是Per的构造函数" << endl;
    }
    Per(Per &other)
    {
        int *hi=new int;
        int *we=new int;
        *hi = *(other.hight);
        *we = *(other.weight);
        cout << "这是Per的拷贝构造函数" << endl;
    }
    ~Per()
    {
        cout << "这是Per的解析函数" << endl;
        delete hight;
        delete weight;
        hight = nullptr;
        weight = nullptr;
    }
};

class Stu
{
    int score;
public:
    Per p1;
    void set_stu(int score)
    {
       this->score=score;
    }
    void show()
    {
        cout << "成绩为:" << score << endl;
    }
    Stu(int *hight,int *weight):p1(hight,weight)
    {
        cout << "这是Stu的构造函数" << endl;
    }
    Stu(Stu &other):p1(other.p1)
    {
        this ->score = other.score;
        p1=other.p1;
        cout << "这是Stu的拷贝构造函数" << endl;
    }
    ~Stu()
    {
        cout << "这是Stu的解析函数" <<endl;
        p1.~Per();
    }

};

int main()
{
    int *hight=new int;
    *hight = 183;
    int *weight=new int;
    *weight = 120;
    Stu s1(hight,weight);
    s1.p1.my_set("张三",18);
    s1.p1.show();
    s1.set_stu(89);
    s1.show();
    *hight = 180;
    *weight = 110;
    Stu s2(hight,weight);
    s2.p1.my_set("李四",20);
    s2.p1.show();
    s2.set_stu(90);
    s2.show();

    return 0;
}

c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数,c++,算法,开发语言,c语言文章来源地址https://www.toymoban.com/news/detail-668947.html

到了这里,关于c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++】类与对象(构造函数、析构函数、拷贝构造函数、常引用)

       🌈个人主页: 秦jh__https://blog.csdn.net/qinjh_?spm=1010.2135.3001.5343 🔥 系列专栏:   目录 类的6个默认成员函数 构造函数 特性  析构函数 特性  析构的顺序 拷贝构造函数 特性 常引用      💬 hello! 各位铁子们大家好哇。              今日更新了类与对象的构造函数、

    2024年02月21日
    浏览(35)
  • 【C++】C++入门—初识构造函数 , 析构函数,拷贝构造函数,赋值运算符重载

    如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗? 并不是 任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数 我们实现了,编译器就不会生成了 构造函数是

    2024年02月21日
    浏览(40)
  • ⚡【C++要笑着学】(7) 默认成员函数:构造函数 | 析构函数 | 拷贝构造函数

    🔥 订阅量破千的火热 C++ 教程 👉 火速订阅 《C++要笑着学》   🔥 CSDN 累计订阅量破千的火爆 C/C++ 教程的 2023 重制版,C 语言入门到实践的精品级趣味教程。 了解更多: 👉  \\\"不太正经\\\" 的专栏介绍  ← 试读第一章 订阅链接: 🔗 《C语言趣味教程》 ← 猛戳订阅!   本篇

    2024年02月07日
    浏览(54)
  • 【C++】构造函数,析构函数,拷贝构造,运算符重载,const 成员

    默认成员函数:如果不显示,编译器默认生成 构造函数:是一个特殊的 成员函数 ,函数名与类名相同,专门用于 初始化类对象 函数名与类名相同 无返回值 ,没有被声明为void类型 对象实例化时 编译器自动调用 , Date d1 ,或 Date d2(2023, 4, 21) 构造函数可以重载,一个类中可以

    2023年04月24日
    浏览(57)
  • 【C++技能树】类的六个成员函数Ⅰ --构造、析构、拷贝构造函数

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我吧!你定不会失望。 在开始本章内容之前,先浅浅的了解一下this指针的概念.这对理解后面的内容有着很大的帮助. this指针 顾名思义就是这个指针,我们先来看看下面这段很简单的代码 首先创建了一个

    2024年02月02日
    浏览(40)
  • 【C++初阶】四、类和对象(构造函数、析构函数、拷贝构造函数、赋值运算符重载函数)

    ========================================================================= 相关代码gitee自取 : C语言学习日记: 加油努力 (gitee.com)  ========================================================================= 接上期 : 【C++初阶】三、类和对象 (面向过程、class类、类的访问限定符和封装、类的实例化、类对象模

    2024年02月05日
    浏览(45)
  • C++之构造函数、析构函数、拷贝构造函数终极指南:玩转对象的诞生、生命周期与复制

    W...Y的主页 代码片段分享  前言: 在上篇内容里,我们初识了C++中的类与对象,了解了类的定义、类的实例化、 类的作用域等等,今天我们将继续深入了解类与对象的相关内容,学习构造函数、析构函数与拷贝构造函数,话不多说我们发车!!! 目录 类的6个默认成员函数

    2024年02月06日
    浏览(34)
  • cpp_07_类型转换构造_析构函数_深拷贝_静态成员

            基本类型之间的转换,编译器内置转换规则:int - double         类类型之间的转换,编译器不知道转换规则,需要用户提供:Cat - Dog         定义:1)单参构造                            (同于拷贝构造函数)                       2)参数类型与类类型不同

    2024年02月03日
    浏览(30)
  • C++ 类构造函数 & 析构函数

    类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。 下面的实例有助于更好地理解构造函数的概念: 当上面的代码

    2024年01月17日
    浏览(38)
  • 【C++】:构造函数和析构函数

    如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数 : 用户没有显式实现,编译器会生成的成员函数称为默认成员函数 。 这篇文章介绍的是 构造函数 和 析构函数

    2024年04月27日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包