当前位置: 首页 > wzjs >正文

上海博大园林建设发展有限公司网站网站联盟推广

上海博大园林建设发展有限公司网站,网站联盟推广,请牢记此域名,怀安县网站建设在C中,类和对象以及 this 指针是非常重要的概念,下面为你详细介绍: 1.类 类是一种用户自定义的数据类型,它是对具有相同属性和行为的对象的抽象描述。类中可以包含数据成员(变量)和成员函数&#xff08…

在C++中,类和对象以及 this 指针是非常重要的概念,下面为你详细介绍:
 
1.类
 
类是一种用户自定义的数据类型,它是对具有相同属性和行为的对象的抽象描述。类中可以包含数据成员(变量)和成员函数(函数)。例如:
 
class Person

{
public:
    // 数据成员
    std::string name;
    int age;

    // 成员函数
    void introduce()

   {
        std::cout << "My name is " << name <<           ", and I'm " << age << " years old."               << std::endl;
    }
};
 
 
在这个例子中, Person 类定义了两个数据成员 name 和 age ,以及一个成员函数 introduce 。
 
2.对象
 
对象是类的一个实例,是类的具体表现。可以通过类来创建多个对象,每个对象都有自己独立的存储空间来存储数据成员的值。例如:
 
int main()

{
    Person person1;
    person1.name = "Alice";
    person1.age = 25;
    person1.introduce();

    Person person2;
    person2.name = "Bob";
    person2.age = 30;
    person2.introduce();

    return 0;
}
 
 
这里创建了两个 Person 类的对象 person1 和 person2 ,它们各自有自己的 name 和 age 值。
 
3.this指针
 
 this 指针是一个隐含在类的成员函数中的指针,它指向调用该成员函数的对象。在成员函数内部,可以使用 this 指针来访问对象的成员变量和其他成员函数。例如:
 
class Person

{
public:
    std::string name;
    int age;

    void setName(const std::string& newName)

   {
        this->name = newName; // 使用this指针访问成员变量
    }

    void introduce()

   {
        std::cout << "My name is " << name <<          ", and I'm " << age << " years old." <<          std::endl;
    }
};
 
 
当调用 person1.setName("Charlie"); 时, this 指针指向 person1 ,这样 this->name 就表示 person1 的 name 成员变量。
 
 this 指针对于区分成员变量和函数参数(如果参数名与成员变量名相同)以及在成员函数中引用当前对象非常有用。

4.this使用

在C++中,不仅可以对基本数据类型的函数进行重载,也可以对自定义类型(比如类)进行函数重载。常见的有对成员函数重载,以及对一些操作符重载(这也属于函数重载的一种特殊形式)。下面通过一个示例代码来展示对自定义类型的函数重载,这里以一个简单的 Fraction (分数)类为例,重载其成员函数和 + 操作符:
 
#include <iostream>

class Fraction

{
private:
    int numerator;  // 分子
    int denominator; // 分母

public:
    // 构造函数
    Fraction(int num = 0, int den = 1) : numerator(num), denominator(den) {}

    // 重载成员函数,输出分数
    void print() const

    {
        std::cout << numerator << "/" << denominator << std::endl;
    }
    // 重载成员函数,根据传入的参数改变分子分母
    void print(int newNum, int newDen) const

    {
        std::cout << newNum << "/" << newDen            << std::endl;
    }

    // 重载 + 操作符,实现分数相加
    Fraction operator+(const Fraction& other) const

  {
        int newNum = numerator * other.denominator + other.numerator * denominator;
        int newDen = denominator * other.denominator;
        return Fraction(newNum, newDen);
    }
};

int main()

{
    Fraction f1(1, 2);
    Fraction f2(1, 3);

    f1.print();  // 调用第一个print函数
    f1.print(3, 4); // 调用第二个print函数

    Fraction sum = f1 + f2;  // 调用重载的+操作符函数
    sum.print();

    return 0;
}
 
 
在上述代码中:
 
1. 定义了 Fraction 类,包含分子和分母两个私有成员变量。
2. 重载了 print 成员函数,一个无参的用于输出当前分数对象的分子分母,另一个带参数的可以输出指定的分子分母。
3. 重载了 + 操作符,使得两个 Fraction 对象可以直接使用 + 进行相加操作,返回一个新的 Fraction 对象表示相加的结果。
 
这样就展示了自定义类型函数重载的基本使用方法,让自定义类型也能像基本数据类型一样方便地进行各种操作。

http://www.dtcms.com/wzjs/225369.html

相关文章:

  • 联通做网站河北百度竞价优化
  • 金华vi设计公司seo完整教程视频教程
  • 重庆网站设计最佳科技网站seo基础优化
  • 虚拟空间软件下载武汉seo招聘
  • 做医疗网站建设百度竞价客服电话
  • 自己做的网站可以开直播长沙seo工作室
  • 织梦如何做几种语言的网站十大免费网站推广
  • nodejs做视频网站正规百度推广
  • app网站开发哪家专业seo基础入门免费教程
  • 传媒网站建设方案怎么创建网站链接
  • 安徽网站建设合肥网站建设今日的重大新闻
  • 如何给网站做右侧悬浮电话seo关键词推广案例
  • wordpress 文章分页代码图片seo优化是什么意思
  • 购物网站建设开题报告广州最新政策
  • 有什么网站可以在线做试题广州新闻最新消息今天
  • 华汇建设集团有限公司网站搜索风云榜百度
  • 建设网站时 首先要解决两个问题 一是什么seo关键词找29火星软件
  • 网站死链存在的问题西安网站建设维护
  • 网站开发用哪个软件成都seo论坛
  • 凡科建设的网站手机打不开攀枝花seo
  • 乌鲁木齐做网站优化网络营销推广方式都有哪些
  • 做视频直播网站爱链接
  • 网站建设管理理论semir
  • 清河做网站哪儿好短视频seo推广隐迅推专业
  • 南宁网站设计运营国内最新新闻事件
  • 做网站需要服务器查询吗seo上首页排名
  • iis5.1 新建网站长沙网站制作关键词推广
  • 餐饮酒店网站建设seo顾问公司
  • 哪里有服务好的网站建设公司sem是什么
  • 在县城做团购网站万网注册域名查询