首页 > 编程语言 >c++ --类和对象(篇1)

c++ --类和对象(篇1)

时间:2024-10-17 21:21:53浏览次数:3  
标签:函数 访问 -- 成员 c++ public 对象 myDog

目录

1.类的概念:

2.类的定义

3.对象的创建:

4.封装

5.继承


1.类的概念:

                类用于指定对象的形式,是一种用户自定义的数据类型,

                它是一种封装了数据和函数的组合。类中的数据称为成员变量,函数称为成员函数。

                类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。

2.类的定义

在 C++ 中,类的定义通常包括以下几个部分:

  • 数据成员(成员变量):用于存储对象的状态或属性。
  • 成员函数:用于定义对象的行为或功能。
#include <iostream>
#include <string>

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

    // 成员函数
    void bark() {
        std::cout << "Woof! My name is " << name << " and I am " << age << " years old." << std::endl;
    }
};

3.对象的创建:

使用类定义后,可以创建类的对象。每个对象都是类的一个实例,拥有自己的数据成员值。

int main() {
    Dog myDog; // 创建对象 myDog
    myDog.name = "Buddy"; // 设置属性
    myDog.age = 3;        // 设置属性
    myDog.bark();        // 调用成员函数
    return 0;
}

4.封装

封装是面向对象编程的一个重要特性,它通过控制访问权限来保护对象的状态。使用访问修饰符可以控制类的成员是否可以被外部访问。

访问修饰符:

  • public:可以被外部代码访问。

  • private:只能被类内部访问。

  • protected:可以被类内部和派生类访问。

class BankAccount {
private:
    double balance; // 私有成员,不能直接访问

public:
    // 构造函数
    BankAccount(double initialBalance) : balance(initialBalance) {}

    // 公共成员函数
    void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }

    double getBalance() {
        return balance; // 允许外部访问余额
    }
};

int main() {
    BankAccount account(100.0); // 创建 BankAccount 对象
    account.deposit(50.0);       // 存款
    std::cout << "Balance: " << account.getBalance() << std::endl; // 输出余额
    // account.balance = 200; // 错误,不能直接访问私有成员
    return 0;
}

5.继承

继承允许创建新类(派生类),基于现有类(基类)扩展其功能。派生类可以继承基类的属性和方法,并可以添加新的属性和方法。

class Animal {
public:
    void eat() {
        std::cout << "Eating..." << std::endl;
    }
};

// 派生类
class Cat : public Animal {
public:
    void meow() {
        std::cout << "Meow!" << std::endl;
    }
};

int main() {
    Cat myCat; // 创建 Cat 对象
    myCat.eat(); // 调用基类方法
    myCat.meow(); // 调用派生类方法
    return 0;
}

Cat 类继承了 Animal 类,因此 myCat 对象可以调用 Animal 类中的 eat 方法。

标签:函数,访问,--,成员,c++,public,对象,myDog
From: https://blog.csdn.net/qq_63152518/article/details/143027974

相关文章

  • 2024-2025-1 20241401 《计算机基础与程序设计》 第四周学习总结
    班级链接2024计算机基础与程序设计作业要求作业要求作业目标①门电路②组合电路,逻辑电路③冯诺依曼结构④CPU,内存,IO管理⑤嵌入式系统,并行结构⑥物理安全教材学习内容总结《计算机科学概论》第四章、第五章门:非(NOT)门、与(AND)门、或(OR)门、异或(XOR)......
  • Java常用类和基础API
    目录一、String1.1String的理解1.1.1类的声明1.1.2内部声明的属性:1.2String的实例与连接1.2.1字符串常量的存储位置1.2.2 Strinq的不可变性的理解1.2.3String的连接操作:+1.3String的构造器与常用方法1.3.1常用方法1.4String的课后练习题目1题目2题目......
  • 码城|计算机专业的00后转行数据分析,还有机会吗?【悟空非空也】
    计算机背景学习数据分析是有优势的。数据分析需要一些技术基础,简单点的话,需要会使用Excel,复杂点会用Python进行数据挖掘和数据分析,当然SQL语句一定要会,自己多练习。如果再懂点深度学习,那就更加厉害啦。有计算机底子,学习Python新语言应该也没有什么问题,Python的学习资料有......
  • 【算法】C++中的二分查找
    ......
  • 网站怎么修改后台地址?如何修改网站后台登录?
    修改网站通常涉及以下几个步骤,具体操作取决于您的网站类型(如静态网站或动态网站)和使用的工具或平台。以下是一些基本的指导:确定修改需求:明确您希望对网站进行哪些方面的修改,比如页面设计、功能增加、内容更新等。备份现有网站:在进行任何更改之前,确保备份当前网站的所有......
  • 对于 x^pi(即x的π次方),x≥0 的证明
    今天数学课上刚学幂函数,老师抛出了这样一个问题:对于xπx^\pixπ,是否必须有......
  • Kail入门到入狱第一课:ls、sudo、cd、以及如何关机
    先进入主界面我们按下Ctrl+Alt+F1进入控制台界面。我们输入第一个命令:sudosu这句话可以让你获得root身份,接下来输入root密码:然后输入另一个命令,可以把当前目录设置为根目录cd/ls-al我们开始执行今天学习的第一个命令,它可以列出当前目录所有文件的属性:ls-alls时li......
  • 后端程序员必备:15个MySQL表设计的经验准则
    15个MySQL表设计的经验准则在数据库设计中,MySQL表的设计至关重要。一个良好的表设计可以提高数据库的性能、可维护性和数据的准确性。以下是15个MySQL表设计的经验准则,希望能为你的数据库设计提供有益的指导。一、通用字段的设置在设计表时,尽量包含以下几个通用......
  • CSS笔记—盒子定位之固定定位(重难点!!小白刚需)
    1、固定定位的概念        固定定位(fixed)的元素位置相对于浏览器窗口进行定位(会脱离文档流),即使页面滚动,固定定位元素不会随滚动条滚动,除非改变浏览器窗口的位置或大小‌ 2、语法格式: <head>        选择器{position:fixed;}</head>水平位置:left定......
  • JSP核心技术
    JSP核心技术(一)JSP的概念$$JSP是JavaServerPages的简称,跟Servlet一样可以动态生成HTML响应,JSP文件命名为xxx.jsp。与Servlet不同,JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容。JSP的示例<%@pageimport=“java.util.Date”%><%@pagecontentTy......