C++ Primer Plus第十天

这篇博客介绍了C++中的过程性编程与面向对象编程的概念,详细阐述了类的定义、实现及成员函数,特别是构造函数和析构函数的用途。此外,还讲解了const成员函数、this指针的应用,以及如何创建对象数组。同时,提到了类的作用域、枚举和抽象数据类型的概念。
摘要由CSDN通过智能技术生成

过程性编程和面向对象编程

类概念

接口

接口是一个共享框架,供两个系统交互时使用

如何定义和实现类

class 类名
{
	private://私有的 
		char company[30];
		int chares;
	public://公有的
		void show();
}
类成员没定义权限默认为私有

类成员函数:void 类名::函数名(参数);外部访问
	特点:可以访问类成员。
****std::cout.setf(std::ios_base::fixed,std::ios_base::floatfield)//可以避免科学计数法
****std::cout.precision(3);显示三位小数

类的构造函数和析构函数

目的就是为了想初始化int类型一样方便,而不是要用自己定义的函数
构造函数就是类名,为了防止弄混,通常在自定义的成员名用_结尾,或者m_开头
构造函数:

类名();
此时初始化的方式如下:
	MyClass test2("测试2");
	MyClass test3 = MyClass("测试3");
构造函数也有重载,默认参数

析构函数:

~类名();
对象的删除处理,例如数据的处理什么的。

可以把类声明放在头文件里面,定义放在.cpp中,这样可以编译.cpp,变成库使用

const成员函数

在C++中,只有被声明为const的成员函数才能被一个const类对象调用。
特点是在函数声明末尾加const:
void m_fun ()const;

this指针

单个对象是很明确的,但是涉及两个对象时,则要用this指针
例如比较两个类中的数值:

const Myclass & bijiao(const Myclass & s)const;
此时,this指针指向调用成员函数的对象,*this需要解引用

创建对象数组

MyClass lei[2] = {MyClass (…),MyClass(…)};

类作用域

类的常量:

class BB
{
	private:
		const int month = 12;
		enum { M = 12};
		static const int MM = 12;
}

作用域枚举:

传统的:名称不能相同
	enum egg{Small,Medium,Large,Jumbo};
	enum t_shirt{Small,Medium,Large,Xlarge};
C++11:
	enum class egg{Small,Medium,Large,Jumbo};
	enum class t_shirt{Small,Medium,Large,Xlarge};
	需要显示类型转换:int bool = int(egg::Small);

抽象数据类型

不太懂为啥要这么做:
类似数组,类里面可记录数组的下标什么的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值