关于C++的一点点总结(其二)

第三章 类的定义与对象的创建

  • 在第二章说了一些基本的关于类的知识,那么怎么去定义自己的类?
class 类名
{
	..........
};
  • 在这里有一个细节,就是在花括号后边有一个;(分号),这是为什么呢?类申明之后有一个";"是表明,这是一个语句的结束,如果没有,则表明语句还没有结束,那就可能会与后面的语句一起解释,会产生错误。另外在类定义之后,可以接一个对象定义列表:
class A{}a,b,c;
/*
通常,将对象定义成类的一部分是不被提倡的,这样做会让发生的操作难以理解,书写的代码会让人产生迷惑
*/
  • 在类中,在继承的时候,我们总是会看到private,protected,public这三个符号,他是干什么用的呢?
class A
{
public:
	//something
protected:
	//something
private:
	//something
};
  • private,protected,public被称为访问限定符,它的具体访问权限如下:
  • private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问
  • protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。
  • public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
  • 当有继承行为的时候,他有私有继承,保护继承和公有继承,它的区别在说到继承的时候细说
  • 实例化对象
struct Stdent
{
	//...
};
class People
{
public:
	void Eating();
	void Playing();
private:
	int m_age;
	double m_hight;
};
int main()
{
	Student s;//结构体变量
	People p;//实例化对象
	/*
	在C语言中有结构体,它所定义的变量我们称为结构体变量,其实在C++中所谓的对象我们也可以理解为类变量,将它叫为对象大概是因为逼格够高吧(开个玩笑)
	*/
	return 0;
}

第四章 浅谈this指针

  • 很多时候我们会看到this这个关键字,它的本质是什么呢?
  • this是作为成员函数的参数隐式传递的,它不出现在参数列表中,调用成员函数的时候,会将当前对象的地址赋值给this,完成参数的传递。成员函数不能定义this形参,而是由编译器隐含的定义。
  • this作为成员函数的参数,也就表示他是成员函数的一个局部变量,它的生命周期就是从开始调用该函数到函数结束。
  • 具体的内容涉及到C++对象在内存中的存储。
  • 什么时候使用this?
  1. 表达式*this通常用于从成员函数返回当前对象:
return *this;
  1. 防止自己给自己赋值
A& operator =(const A &a)
{
	if(&a != this) //防止自己给自己赋值
	{
		//....
	}
}
  • 注意事项:
  1. 对象的this指针不是对象的一部分,可以通过sizeof去验证。
  2. 在构造函数和析构函数中也有this指针
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值