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++学习 之 类的声明及成员的访问(笔记)的更多相关文章

  1. 鸡啄米:C++编程之十三学习之类与对象,类的声明,成员的访问控制

    1. 本次学习鸡啄米课程第13篇,把比较重要的学习记录下来,以敦促自己更好的学习.推荐他们的网址学习:http://www.jizhuomi.com/school/c/97.html 2. 在面向过程 ...

  2. 你好,C++(32) 类是对现实世界的抽象和描述 6.2.1 类的声明和定义

    6.2  类:当C++爱上面向对象 类这个概念是面向对象思想在C++中的具体体现:它既是封装的结果,同时也是继承和多态的载体.因此,要想学习C++中的面向对象程序设计,也就必须从“类”开始. 6.2. ...

  3. C++ primer(十三)--类继承、构造函数成员初始化、虚函数、抽象基类

    一.基类     从一个类派生出另一个类时,原始类称为基类,继承类称为派生类. 派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之 ...

  4. Effective C++学习笔记:初始化列表中成员列出的顺序和它们在类中声明的顺序相同

    类成员的默认初始化顺序是按照声明顺序进行, 如果使用初始化列表初始化成员变量, 则必须按照成员变量的声明顺序进行; 否则, 在变量之间交替赋值时, 会产生, 未初始化的变量去赋值其他变量; 同时GCC ...

  5. Cocos2d-x 3.1.1 学习日志3--C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011292087/article/details/37598919 有关const成员.stati ...

  6. Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法

    面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...

  7. c++学习——类成员的访问权限

    成员的访问权限 Public: 任何人,尤其是那些要使用这个类库的客户程序员,都能访问那个紧跟在public 后面声明的成员. 默认的package: 在同一个目录里面的文件,并且都没有明确指明它是属 ...

  8. C++:调整基类成员在派生类中的访问属性的其他方法(同名成员和访问声明)

    4.3 调整基类成员在派生类中的访问属性的其他方法 4.3.1 同名函数 在定义派生类的时候,C++语言允许在派生类中说明的成员与基类中的成员名字相同,也就是 说,派生类可以重新说明与基类成员同名的成 ...

  9. Objective-C学习篇01—类的声明与实现

    Objective-C,是美国人布莱德·确斯(Brad Cox)于 1980 年年初发明的一 种程序设计语言,其与同时代的 C++ 一样,都是在 C 的基础上加入面向对象特性扩充而成的.Objecti ...

随机推荐

  1. Git入门学习和使用

    #开篇废话 开篇废话又回来了,离开博客算是有一年了,之间曾经痛下很多次决心,继续写博客,后来都失败了,前年为了申请个CSDN专家,每天发博客,那个高产的状态,现在已然不行了,时过境迁,当时为了吃口饱饭 ...

  2. Suitable Replacement

    D. Suitable Replacement 这个题统计出 s 和 t 中的各字母个数以及"?"的个数,直接暴力即可,s中不足的字母可用 "?"来替代 这个题 ...

  3. Latex里的引用定理只出现编号,不出现定理名?

    在前面先定义了: \newtheorem{prb}{Problem Formulation} 然后: \begin{prb} \label{problem} xx\end{prb}效果: Proble ...

  4. 微信小程序_(表单组件)button组件的使用

    微信小程序表单组件button官方文档 传送门 Learn 一.button组件的使用 一.button组件的使用 size:按钮的大小[默认值default] type:按钮的样式类型[默认值def ...

  5. MySQL 主从复制 (CentOS 7)

    1.主从复制原理 (1) 当master 服务器上的数据发生改变时,则将其改变写入二进制日志文件中: (2) slave服务器会在一定时间间隔内对 master 服务器上的二进制日志进行探测,探测其是 ...

  6. 关于colab的一些技巧

    1.指定工作文件夹(运行可以相对路径!) # 指定当前的工作文件夹 import os # 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上 os.chdir(&q ...

  7. Thymeleaf Multiple Template Locations using Spring Boot

    1. Overview In this tutorial, we'll see how we can define multiple template locations using Thymelea ...

  8. ubuntu安装mysql 5.7

    1.安装mysql sudo apt-get install mysql-client mysql-server 2.启动 service mysqld start 3.登陆 mysql -uroot ...

  9. C++学习 之 初识命名空间

    声明:            本人自学C++, 没有计算机基础,在学习的过程难免会出现理解错误,出现风马牛不相及的现象,甚至有可能会贻笑大方. 如果有幸C++大牛能够扫到本人的博客,诚心希望大牛能给予 ...

  10. MYSQL 中 MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...