C++初阶学习第三弹——类与对象(上)
创始人
2024-11-20 14:03:58
0

目录

一.初步认知对象

 二.类的基本组成、

1.类的定义

2.类的访问限定符及封装

3.类的作用域

4、类的大小的计算

5.this指针

三.总结


一.初步认知对象

C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。

而C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。

 二.类的基本组成、

1.类的定义

class A     { public:  void Init(int year)  {    _year=year;   } private:   int _year;   int* arr;    };

 class是定义类的关键字,  其中A是类的名字,class{}中的是类的主体。

类体中内容称为类的成员:类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者 成员函数。

类的两种定义方式: 1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。

2. 类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名:

 

2.类的访问限定符及封装

1. public修饰的成员在类外可以直接被访问

2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)

3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止

4. 如果后面没有访问限定符,作用域就到 } 即类结束。

5. class的默认访问权限为private

3.类的作用域

类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员时,需要使用 :: 作用域操作符指明成员属于哪个类域。

class Person { public:  void PrintPersonInfo(); private:  char _name[20];  char _gender[3]; };  void Person::PrintPersonInfo() {  cout << _name << " "<< _gender << " " << _age << endl; }

 这里需要指定PrintPersonInfo是属于Person这个类域

4、类的大小的计算

class A { public: 	void PrintA() 	{ 		cout << _a << endl; 	} private: 	int _a; 	 }; int main() { 	cout << sizeof(A) << endl; 	return 0; }

 类在计算大小的时候,是不计算函数大小的

一个类的大小,实际就是该类中”成员变量”之和,当然要注意内存对齐。

5.this指针

class Date {  public:  void Init(int year, int month, int day)  {  _year = year;  _month = month;  _day = day;  }  void Print()  {  cout <<_year<< "-" <<_month << "-"<< _day <printf();  return 0; }

以上代码printf()按理来说应该有一个形参,可是实际却没有,因为类成员函数参数中是有一个默认的this指针表示创建的类变量的地址

以上代码实际是这样。

class Date {  public:  void Init(int year, int month, int day)  {  _year = year;  _month = month;  _day = day;  }  void Print(Date* this)  {  cout <_year<< "-" <_month << "-"< _day <printf();  return 0; }

三.总结

希望给大家带来一定的帮助,下节我会接着讲解关于类和对象—中阶的内容

感谢大佬们的支持。

相关内容

热门资讯

第2分钟操作!圣游科技辅助器,... 第2分钟操作!圣游科技辅助器,随意玩房卡辅助器透视(辅助)本来有挂平台(哔哩哔哩)1、随意玩房卡辅助...
五分钟手筋!好友赣南新版本挂,... 您好,好友赣南新版本挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
五分钟手筋!贰柒拾智能辅助柒,... 五分钟手筋!贰柒拾智能辅助柒,新广西老友辅助(辅助)其实存在有插件(哔哩哔哩)进入游戏-大厅左侧-新...
7分钟举措!丫丫衡阳字牌3辅助... 7分钟举措!丫丫衡阳字牌3辅助,樱花之盛辅助器下载(辅助)一贯是真的平台(哔哩哔哩)1、7分钟举措!...
第3分钟教程书!掌电竞技辅助器... 第3分钟教程书!掌电竞技辅助器,悟空大厅辅助器(辅助)一贯是有辅助器(哔哩哔哩)1)掌电竞技辅助器辅...
第2分钟法子!哈糖大菠萝可以开... 第2分钟法子!哈糖大菠萝可以开挂吗,悟空大厅辅助器下载(辅助)确实真的是有软件(哔哩哔哩)1、进入到...
第五分钟机巧!闲逸软件可以控制... 第五分钟机巧!闲逸软件可以控制的吗,新众亿挂机(辅助)都是是有神器(哔哩哔哩)第五分钟机巧!闲逸软件...
1分钟绝活!悠闲卡五星辅助,来... 1分钟绝活!悠闲卡五星辅助,来来拼十辅助(辅助)本来存在有下载(哔哩哔哩)1、悠闲卡五星辅助免费脚本...
第4分钟技法!边锋干瞪眼小程序... 第4分钟技法!边锋干瞪眼小程序辅助,道游互娱辅助免费版(辅助)本来真的有辅助器(哔哩哔哩)1、玩家可...
脚本曝光!hhpoker俱乐部... 脚本曝光!hhpoker俱乐部是干嘛的,hhpoker辅助软件(透视)切实真的有神器(哔哩哔哩)1、...