C++中创建和使用类需用class关键字封装数据与行为,通过对象调用功能;核心包括私有成员变量、公有成员函数、访问控制及构造函数,须用作用域解析符实现类外定义,并推荐初始化列表提升效率。

在C++中创建和使用类,核心是用 class 关键字定义数据和行为的封装体,再通过对象实例调用其功能。重点在于理解成员变量、成员函数、访问控制(public/private)以及构造函数的作用。
定义一个基础类
类声明通常包括成员变量(存储状态)和成员函数(提供行为),并用访问限定符控制可见性。默认是 private,一般把数据设为 private,接口设为 public:
// Person.h(头文件中声明)
class Person {
private:
std::string name;
int age;
public:
Person(std::string n, int a); // 构造函数
void introduce() const;
int getAge() const;
void setAge(int a);
};
实现成员函数
成员函数定义可写在类外(通常放在 .cpp 文件里),需用作用域解析符 :: 指明所属类:
// Person.cpp
#include "Person.h"
#include
Person::Person(std::string n, int a) : name(n), age(a) {}
void Person::introduce() const {
std::cout << "Hi, I'm " << name << " and I'm " << age << " years old.\n";
}
int Person::getAge() const { return age; }
void Person::setAge(int a) { if (a >= 0) age = a; }
创建对象并使用
类定义完成后,就可以像内置类型一样创建对象。支持多种初始化方式,调用公有成员函数完成交互:
iHuzuCMS狐族内容管理系统,是国内CMS市场的新秀、也是国内少有的采用微软的ASP.NET 2.0 + SQL2000/2005 技术框架开发的CMS,充分利用ASP.NET架构的优势,突破传统ASP类CMS的局限性,采用更稳定执行速度更高效的面向对象语言C#设计,全新的模板引擎机制, 全新的静态生成方案,这些功能和技术上的革新塑造了一个基础结构稳定功能创新和执行高效的CMS。iHuzu E
立即学习“C++免费学习笔记(深入)”;
- 直接初始化:
Person p1("Alice", 25); - 拷贝初始化:
Person p2 = Person("Bob", 30); - 默认构造(需显式定义或编译器生成):
Person p3; - 调用成员函数:
p1.introduce();、std::cout
关键细节提醒
初学容易忽略但影响深远的点:
- 构造函数没有返回类型(连
void都不能写) -
const成员函数不能修改成员变量(除非该变量被声明为mutable) - 私有成员只能被本类的成员函数或友元访问,外部不可直接读写
- 建议用初始化列表(
: name(n), age(a))而非赋值方式初始化成员,尤其对自定义类型更高效
基本上就这些。类是 C++ 面向对象的起点,不复杂但容易忽略访问控制和初始化细节。








