零基础学C++之进阶篇三

本文是零基础学C++的进阶篇,详细介绍了C++中的类和对象,包括类的声明与定义、构造函数和析构函数、类成员(如访问控制、内联函数和静态成员)、友元以及命名空间的概念和使用方法。
摘要由CSDN通过智能技术生成

零基础学C++之进阶篇三

类和对象

类是对象的实现,面向对象中的类是抽象概念,而类是程序开始过程中定义一个对象,用类定义对象可以是现实生活中的真实对象,也可以是从现实生活中抽象的对象。

c++类

类概述

面向对象的对象需要通过定义类来声明,类是一个新的数据类型,它和结构体有些相似,是由不同数据类型组合的集合体,但类要比结构体增加了操作数据的行为,这个行为就是函数。

类的声明与定义

类的声明格式如下:

class 类名标识符
{
   
	[public:]
	[数据成员的声明]
	[成员函数的声明]
	[private:]
	[数据成员的声明]
	[成员函数的声明]
	[protected:]
	[数据成员的声明]
	[成员函数的声明]
};

类的声明格式说明如下:

  • class是定义类结构体的关键字,大括号内被称为类体或类空间;
  • 类名标识符指定的就是类名,类名就是一个新的数据类型,通过类名可以声明对象;
  • 类的成员有函数和数据两种类型;
  • 大括号内是定义和声明类成员的地方,关键字public、private、protected是类成员访问的修饰符。
    类中的数据成员的类型可以是任意的,包含整型、浮点型、字符型、数组、指针和引用等,也可以是对象,另一个类的对象可以作为该类的成员,但是自身类的对象不可以作为该类的成员,而自身类的指针或引用又可以作为该类的成员。
class CPerson
{
   
	int m_index;
	char m_name[25];
	short m_age;
	double m_salary;
	
	short getAge();
	int setAge(short age);
	int getIndex();
	int setIndex(int index);
	char* getName();
	int setName(char age[25]);
	double getSalary();
	int setSalary(double salary);
}
类的实现

第一种方法:将类的成员函数都定义在类体内。
第二种方法:将类体内的成员函数的实现放在类体外,但如果类成员定义在类体外,需要用到域运算符“::”,放在类体内和类体外的效果是一样的。

对象的声明

定义一个新类后,就可以通过类名来声明一个对象,声明的形式如下:

类名 对象名表;

对象声明之后需要引用其成员,c++提供了两种引用方式:
(1)成员引用方式

对象名.成员名;
对象名.成员函数(参数列表);

(2)对象指针方式

对象指针名->数据成员
*(对象指针名).数据成员
对象指针名->成员函数(参数列表)
*(对象指针名).成员函数(参数列表)

构造函数

构造函数概述

在类的实例进入其作用域时,也就是建立一个对象,构造函数就会被调用,进行一些初始化工作,例如对数据成员进行赋、设置类的属性等,构造函数可以带有参数。
实例01 构造函数的使用

#include <iostream>
using namespace std;
class Cperson
{
   
public:
	Cperson();
	Cperson(int index,short age,double salary);
	int m_index;
	short m_age;
	double m_salary;
	int getIndex();	
};

Cperson::Cperson()
{
   
	m_index=0;
	m_age=10;
	m_salary=1000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值