C++学习 之 类的声明及成员的访问(笔记)
1.类的声明
简单来说,属性以及对属性的操作的整合叫做类。要声明类可使用关键字class,并在它的后面定义类名,然后紧接着是属于该类的代码块{}。类的声明类似于函数声明,类的声明本身并不改变程序 的行为而必须使用它,就好像函数需要调用一样。
模拟人的类的声明类似于下面代码:
class Human
{
string Name;
string DateOfBirth;
int Age;
void Talk(string TextToTalk);
void IntrouduceSelf();
};
类相当于是理论,理论用于实践才能产生实际的效果。我们要想使用类通常要根据类实例化一个对象,通过使用对象的属性和方法来访问类。
实例化对象类似于下面代码:
Human Tom;//实例化一个Human,命名为Tom Human *pToMan=new Human();//使用new为new分配内存并把地址返回给Human类的指针
2.访问类的成员
对于类来说有两种对象,一种是实例即是现实世界的抽象模型,另一种是指向对象的指针。当我们要访问实例的属性和方法的话就用句点运算符".",当我们要访问类指针所指向的实例的属性和方法 的话就用"->"也可使用解除引用运算符"*"来获取实例再用句点符号访问该实例的属性和方法。
示例如下:
Human Tom;
Tom.Age=;
Human *pToMan=new Human();
pToMan->Age=;//pToMan的属性Age为21
(*pToMan).Age=;//修改pToMan的属性Age为22
3.关键字private和public
在定义类的属性和方法时可以使用private和public来声明访问权限。private声明的属性和方法只能被内部或友元访问,public声明的属性和方法可以被内部和外部访问。
class Human
{
private:
string Name;
int Age;
public:
int SetAge(int InputAge)
{
Age=InputAge;
}
}
在上面的类的定义中Age被声明为私有的,所以它只能被内部所访问。例如我们实例化一个对象Tom,我们不能通过类似"Tom.Age=20"的语句直接从外部访问其属性Age;而要通过类内的公有方法 SetAge()来改变Age的值。私有成员和公有成员的声明让程序设计者能够控制类的属性和方法的访问。
C++学习 之 类的声明及成员的访问(笔记)的更多相关文章
- 鸡啄米:C++编程之十三学习之类与对象,类的声明,成员的访问控制
1. 本次学习鸡啄米课程第13篇,把比较重要的学习记录下来,以敦促自己更好的学习.推荐他们的网址学习:http://www.jizhuomi.com/school/c/97.html 2. 在面向过程 ...
- 你好,C++(32) 类是对现实世界的抽象和描述 6.2.1 类的声明和定义
6.2 类:当C++爱上面向对象 类这个概念是面向对象思想在C++中的具体体现:它既是封装的结果,同时也是继承和多态的载体.因此,要想学习C++中的面向对象程序设计,也就必须从“类”开始. 6.2. ...
- C++ primer(十三)--类继承、构造函数成员初始化、虚函数、抽象基类
一.基类 从一个类派生出另一个类时,原始类称为基类,继承类称为派生类. 派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之 ...
- Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同
类成员的默认初始化顺序是按照声明顺序进行, 如果使用初始化列表初始化成员变量, 则必须按照成员变量的声明顺序进行; 否则, 在变量之间交替赋值时, 会产生, 未初始化的变量去赋值其他变量; 同时GCC ...
- Cocos2d-x 3.1.1 学习日志3--C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011292087/article/details/37598919 有关const成员.stati ...
- Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法
面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...
- c++学习——类成员的访问权限
成员的访问权限 Public: 任何人,尤其是那些要使用这个类库的客户程序员,都能访问那个紧跟在public 后面声明的成员. 默认的package: 在同一个目录里面的文件,并且都没有明确指明它是属 ...
- C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)
4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...
- Objective-C学习篇01—类的声明与实现
Objective-C,是美国人布莱德·确斯(Brad Cox)于 1980 年年初发明的一 种程序设计语言,其与同时代的 C++ 一样,都是在 C 的基础上加入面向对象特性扩充而成的.Objecti ...
随机推荐
- 2018-2019-2 20165215《网络对抗技术》Exp7 网络欺诈防范
目录 实验目的 实验内容 实验步骤 (一)简单应用SET工具建立冒名网站 (二)ettercap DNS spoof (三)结合应用两种技术,用DNS spoof引导特定访问到冒名网站 基础问题回答 ...
- 3 Java 冒泡排序法
冒泡排序( Bubble Sort)是一种简单的排序算法.它重复访问要数列, 一次比较两个元素,如果他们的顺序错误就把交换过来.访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来.访问数 ...
- Nginx事件管理之核心模块ngx_events_module
1. ngx_events_module核心模块的功能介绍 ngx_events_module 模式是一个核心模块,它的功能如下: 定义新的事件类型 定义每个事件模块都需要实现的ngx_event_m ...
- HearthstoneBot
https://github.com/ChuckFork/HearthstoneBot Sigmund Card game automation framework Hooks game and lo ...
- -webkit-scrollbar 的使用,滚动条的隐藏
滚动条的隐藏 -webkit-scrollbar 是一个伪类选择器 设置滚动条的样式 例如滚动条的隐藏 元素::-webkit-scrollbar{ width:0; }
- vue事件.navtive 的使用
我们可以直接在组件标签上绑定事件了 然后在 methods 的对象中调用这个方法了 正常情况下是不可以的,但是我们可以使用事件修饰符 .navtive 就可以实现了 props的对象写法
- TensorFlow 学习(3)——MNIST机器学习入门
通过对MNIST的学习,对TensorFlow和机器学习快速上手. MNIST:手写数字识别数据集 MNIST数据集 60000行的训练数据集 和 10000行测试集 每张图片是一个28*28的像素图 ...
- 按下home键,重新打开,应用重启
其实不是重启,只是重新打开了luncher的那个activity.只要通过判断把它finish,就会显示按下home键前的页面. 解决方法: 在重启的页面中加入一下代码,注意加在setContentV ...
- LC 833. Find And Replace in String
To some string S, we will perform some replacement operations that replace groups of letters with ne ...
- Django FBV CBV以及使用django提供的API接口
FBV 和 CBV 使用哪一种方式都可以,根据自己的情况进行选择 看看FBV的代码 URL的写法: from django.conf.urls import url from api import v ...