全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++如何定义和使用一个类(Class)?(构造函数示例)

C++中类由class关键字定义,含私有数据成员和公有成员函数,构造函数名与类名相同、无返回类型,用成员初始化列表高效初始化;可重载、委托或设默认参数。

在C++中定义一个类,就是用 class 关键字声明一组相关数据(成员变量)和操作这些数据的函数(成员函数),其中构造函数用于初始化对象。

定义类的基本结构

类通常包含私有(private)数据成员和公有(public)成员函数。例如定义一个表示学生的类:

class Student {
  private:
    std::string name;
    int age;
  public:
    Student();              // 默认构造函数
    Student(std::string n, int a); // 带参构造函数
    void display() const;
};

实现构造函数

构造函数名必须与类名完全相同,没有返回类型(连 void 也不能写)。它在创建对象时自动调用:

Student::Student() : name("Unknown"), age(0) {}

Student::Student(std::string n, int a) : name(n), age(a) {}

  • 使用成员初始化列表(冒号后部分)比在函数体内赋值更高效,尤其对自定义类型
  • 如果没定义任何构造函数,编译器会提供默认构造函数;但一旦定义了,就不会再自动生成默认版本
  • 可以重载多个构造函数,只要参数列表不同

创建和使用对象

定义类之后,就可以用它创建对象,并调用成员函数:

int main() {
  Student s1;                         // 调用默认构造函数
  Student s2("Alice", 20);         // 调用带参构造函数
  s2.display();
  return 0;
}

  • 对象在栈上创建时,构造函数立即执行
  • 若通过 new 动态分配(如 Student* p = new Student("Bob", 22);),构造函数也在内存分配后立刻调用
  • 成员函数需声明为 const(如 display() const)才能被 const 对象调用

补充:默认参数与委托构造(C++11起)

可简化构造函数数量:

Student::Student(std::string n = "Unknown", int a = 0) : name(n), age(a) {}

或用委托构造避免重复代码:

Student::Student() : Student("Unknown", 0) {}
Student::Student(std::string n, int a) : name(n), age(a) {}

  • 委托构造中,冒号后只能调用本类的另一个构造函数,且不能同时使用成员初始化列表
  • 被委托的构造函数先执行,再继续当前构造函数的函数体(如果有)


#   # ai  # c++  # String  # 成员变量  # 成员函数  # 构造函数  # const  # int  # void  # class  # public  # private  # 委托  # 对象  # display  # 多个  # 就不  # 也在  # 本类  # 自定义  # 它在  # 会再  # 用它  # 自动生成  # 或用 


相关文章: 威客平台建站流程解析:高效搭建教程与设计优化方案  实惠建站价格推荐:2025年高性价比自助建站套餐解析  建站主机核心功能解析:服务器选择与网站搭建流程指南  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何获取PHP WAP自助建站系统源码?  如何在自有机房高效搭建专业网站?  如何通过西部数码建站助手快速创建专业网站?  建站之星如何实现PC+手机+微信网站五合一建站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何在阿里云购买域名并搭建网站?  如何快速配置高效服务器建站软件?  兔展官网 在线制作,怎样制作微信请帖?  如何选择建站程序?包含哪些必备功能与类型?  表情包在线制作网站免费,表情包怎么弄?  北京专业网站制作设计师招聘,北京白云观官方网站?  简单实现Android验证码  建站主机功能解析:服务器选择与快速搭建指南  沈阳制作网站公司排名,沈阳装饰协会官方网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何在服务器上三步完成建站并提升流量?  如何通过建站之星自助学习解决操作问题?  如何选择PHP开源工具快速搭建网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  c# 在高并发场景下,委托和接口调用的性能对比  建站之星与建站宝盒如何选择最佳方案?  如何通过老薛主机一键快速建站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何零基础在云服务器搭建WordPress站点?  建站主机选购指南:核心配置优化与品牌推荐方案  如何在云主机上快速搭建网站?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  如何登录建站主机?访问步骤全解析  建站主机选择指南:服务器配置与SEO优化实战技巧  如何在IIS服务器上快速部署高效网站?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  宝塔建站后网页无法访问如何解决?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何在万网自助建站中设置域名及备案?  南京网站制作费用,南京远驱官方网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  建站之星在线版空间:自助建站+智能模板一键生成方案  如何用虚拟主机快速搭建网站?详细步骤解析  网站制作员失业,怎样查看自己网站的注册者?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  ppt制作免费网站有哪些,ppt模板免费下载网站?  如何在万网开始建站?分步指南解析  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  专业网站制作服务公司,有哪些网站可以免费发布招聘信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。