类的成员函数

C++中的类访问修饰符

安稳与你 提交于 2019-11-28 00:49:50
转载自 菜鸟教程 文章目录 序言 公有成员 私有(private)成员 保护(protected)成员 序言 数据封装是面向对象编程的一个重要特点,它防止函数直接访问类类型的内部成员。类成员的访问限制是通过在类主体内部对各个区域标记 public、private、protected 来指定的。关键字 public、private、protected 称为访问修饰符。 一个类可以有多个 public、protected 或 private 标记区域。每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的。成员和类的默认访问修饰符是 private。 公有成员 公有成员在程序中类的外部是可访问的。您可以不使用任何成员函数来设置和获取公有变量的值,如下所示: # include <iostream> using namespace std ; class Line { public : double length ; void setLength ( double len ) ; double getLength ( void ) ; } ; // 成员函数定义 double Line :: getLength ( void ) { return length ; } void Line :: setLength ( double len ) { length =

c++面向对象 —— 类和对象

北城余情 提交于 2019-11-27 09:09:30
类和对象 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。 一、类定义 实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作 类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。 class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 }; 关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为 private 或 protected 二、定义c++对象 对象是根据类来创建的。声明类的对象,就像声明基本类型的变量一样 Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box 对象 Box1 和 Box2 都有它们各自的数据成员。 三、访问数据成员 使用直接成员访问运算符 (.) 来访问 #include <iostream> using namespace std; class Box { public: double

MFC常用类、成员函数、数组类、Cstring类、CTime类、CPoint类

心已入冬 提交于 2019-11-27 08:48:19
MFC数组类 CByteArray: CDWordArray: CPtrArray: CUIntArray: CWordArray: CStringArray: 常用成员函数 1.int Add( ARG_TYPE newElement ); throw( CMemoryException ); 2.TYPE& ElementAt( int nIndex ); 3.void FreeExtra( ); 4.TYPE GetAt( int nIndex ) const 5.int GetSize( ) const; 6.int GetUpperBound( ) const; 7.(1)void InsertAt( int nIndex, ARG_TYPE newElement, int nCount = 1 ); throw( CMemoryException ); (2)void InsertAt( int nStartIndex, CArray* pNewArray ); throw( CMemoryException ); 8.void RemoveAll( ); 9.void SetAt( int nIndex, ARG_TYPE newElement ); 10.void SetAtGrow( int nIndex, ARG_TYPE newElement ); throw

类模板 与 模板类

末鹿安然 提交于 2019-11-27 08:48:01
1. 类模板与模板类的概念 ⑴ 什么是类模板 一个类模板(也称为类属类或类生成类)允许用户为类定义一种模式,使得类中的某些数据成员、默写成员函数的参数、某些成员函数的返回值,能够取任意类型(包括系统预定义的和用户自定义的)。 如果一个类中数据成员的数据类型不能确定,或者是某个成员函数的参数或返回值的类型不能确定,就必须将此类声明为模板,它的存在不是代表一个具体的、实际的类,而是代表着一类类。 ⑵ 类模板定义 定义一个类模板,一般有两方面的内容: A. 首先要定义类,其格式为: template <class T> class foo { …… } foo 为类名,在类定义体中,如采用通用数据类型的成员,函数参数的前面需加上 T ,其中通用类型 T 可以作为普通成员变量的类型,还可以作为 const 和 static 成员变量以及成员函数的参数和返回类型之用。例如: template<class T> class Test{ private: T n; const T i; static T cnt; public: Test():i(0){} Test( T k); ~Test(){} void print(); T operator+( T x); }; B. 在类定义体外定义成员函数时,若此成员函数中有模板参数存在,则除了需要和一般类的体外定义成员函数一样的定义外

指向类成员函数的指针

大城市里の小女人 提交于 2019-11-27 00:11:44
#include <iostream> using namespace std; class Time {public: Time(int,int,int); int hour; int minute; int sec; void get_time(); }; Time::Time(int h,int m,int s) {hour=h; minute=m; sec=s; } void Time::get_time() {cout<<hour<<":"<<minute<<":"<<sec<<endl;} int main() {Time t1(10,13,56); int *p1=&t1.hour; cout<<*p1<<endl; t1.get_time(); Time *p2=&t1; p2->get_time(); void (Time::*p3)(); p3=&Time::get_time; (t1.*p3)(); return 0; } 转载于:https://www.cnblogs.com/GavinDai/archive/2011/11/13/2247531.html 来源: https://blog.csdn.net/weixin_30507481/article/details/99218603

一个类的成员函数做为另一个类的友元函数

风流意气都作罢 提交于 2019-11-27 00:11:11
#include <iostream> using namespace std; class Date; class Time {public: Time(int,int,int); void display(const Date&); private: int hour; int minute; int sec; }; class Date {public: Date(int,int,int); friend void Time::display(const Date &); private: int month; int day; int year; }; Time::Time(int h,int m,int s) {hour=h; minute=m; sec=s; } void Time::display(const Date &da) {cout<<da.month<<"/"<<da.day<<"/"<<da.year<<endl; cout<<hour<<":"<<minute<<":"<<sec<<endl; } Date::Date(int m,int d,int y) {month=m; day=d; year=y; } int main() {Time t1(10,13,56); Date d1(12,25,2004); t1.display(d1);

C++--第8课 - 类中的封装

不打扰是莪最后的温柔 提交于 2019-11-27 00:08:53
第8课 - 类中的封装 1. 类的组成 类的实现细节; 类的使用方式。 当使用类时,不需要关心其实现细节;当创建一个类时,才需要考虑其内部实现细节。 例: 使用手机时,只需要知道如何发短信,打电话,拍照等等即可,不需要关心手机是如何开发出来的。 手机开发工程师就需要考虑手机内部的实现细节,如硬件细节和软件细节。 2. 封装的基本概念 根据日常生活中的经验:并不是类的每个属性都是对外公开的。 如:女孩子不希望外人知道自己的年龄和身高。 如:一些男孩子不希望别人知道自己会尿床。 而一些类的属性是对外公开的。 如:人类的姓名,学历,国籍等。 因此,需要在类的表示法中定义属性和行为的公开级别。 类似文件系统中文件的权限。 3. C++中的类的封装 成员变量:C++中用于表示类属性的变量。 成员函数:C++中用于表示类行为的函数。 在C++中可以给成员变量和成员函数定义访问级别。 public:成员变量和成员函数可以在类的内部和外界访问和调用。 private:成员变量和成员函数只能在类的内部被访问和调用。 程序:类成员的访问属性 #include <stdio.h> struct Biology { bool living; }; struct Animal : Biology { bool movable; void findFood() { } }; struct Plant :

类的成员

折月煮酒 提交于 2019-11-26 19:24:07
今日内容 私有成员 公有成员 类的私有成员 : 私有类的静态属性,私有类的方法,私有对象的属性. 实例方法 类方法 重点 静态方法 属性 重点 Issubclass 和 isinstance 区别 重要 类的私有成员 私有类的属性 # 在类的内部可以使用 class A: name = "李烨" __name = "刚哥"#私有类的属性 def func(self): print(self.name) print(self.__name) obj = A() # 李烨 obj.func() # 刚哥 ​ 类的外部不能访问 class A: name = "李烨" __name = "刚哥"#类私有属性 def func(self): pass obj = A() print(obj.name) # 李烨 print(obj.__name) # 报错 class A: name = "李烨" __name = "刚哥" class B(A): def func(self): print(self.__name) obj = B() obj.func() # 报错 私有对象属性,只能在类的内部使用,不能在类外部以及派生类使用 class A: def __init__(self,name,pwd): self.name = name self.__pwd = pwd def md5

python 25 类的成员

删除回忆录丶 提交于 2019-11-26 14:32:55
目录 1. 类的私有成员 -- __ 1.1 类的私有静态属性 1.2 类的私有方法 1.3 对象的私有方法 2. 类的其他方法 2.1 类方法 @classmethod 2.2 静态方法 @staticmethod 3. 属性 @property 3.1 装饰器法 -- 获取、修改、删除 3.2 利用实例化对象的方式设置属性 4. 类的内置函数 4.1 isinstance -- 判断对象与类之间的关系 4.2 issubclass -- 判断类与类的关系 1. 类的私有成员 -- __ 当你遇到重要的数据,功能,(只允许本类使用的一些方法,数据)将其设置成私有成员. 1.1 类的私有静态属性 __name = "meet" # 加 __ #只能在类的内部进行访问、调用,在类的外部以及派生类不能调用。 1.2 类的私有方法 class A: def __func(self): print("in __func") # 只能在类的内部调用 1.3 对象的私有方法 class A: def __init__(self, name): self.__name = name # 只能在类的内部调用 # 总结: 类的私有成员,只能在类的内部进行访问、调用,不能在类的外部、子类使用。 python所有的私有成员都是纸老虎,形态虚设。 类在加载时,只要遇到类的私有成员(__)

9 - 类和对象

随声附和 提交于 2019-11-25 19:30:24
类和对象基本概念 1)类、对象、成员变量、成员函数 2)面向对象三大概念:封装、继承、多态 封装(Encapsulation) 封装是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体。把客观的事物抽象成类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏(把属性和方法进行封装,对属性和方法进行访问控制)。 C++中类的封装:成员变量,C++中用于表示类属性的变量;成员函数,C++中用于表示类行为的函数。 在C++当中可以给成员变量和成员函数定义访问级别,Public修饰的成员变量和成员函数可以在类的内部和类的外部进行访问。Private修饰的成员变量和成员函数只能在类的内部被访问。 在使用struct定义类时,所有的成员的默认属性为public。在使用class定义类时,所有的成员默认的属性为private。我们常使用class定义类。 对象的构造和析构 创建一个对象时,经常需要某些初始化工作,为了解决这个问题,C++编译器提供了构造函数来处理对象的初始化。构造函数是一种特殊的成员函数,与其他的成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。 构造函数和析构函数的概念 构造函数 在C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数被叫做构造函数。构造函数在定义时可以有参数