MFC
打鱼的渔夫wh
连续迭代。
展开
-
C++基础(12)友元
类的主要目的之一是实现信息的隐藏与封装,即类的私有成员在类的外部不可见,不能直接进行访问,只能通过对外的接口函数间接地进行访问。但这样往往会降低对私有数据成员的访问效率。 有时候,某些特殊的函数或类需要对这些私有成员进行直接访问,这时,就需要打破类的封装。这种能够对类的私有成员直接进行访问的外部类或外部函数被称为(类的)友元。 友元可分为友元函数和友元类。其中友元函...原创 2018-08-06 17:53:17 · 293 阅读 · 0 评论 -
C++基础(11)静态成员
一.静态数据成员 当一个类的多个对象需要进行数据共享时,可以通过静态数据成员和静态成员函数进行实现。 例如,学生人数是和每一个学生对象有关的(每次新建一个学生对象,学生人数都应该增1),但它又不能只属于某一个学生对象,这时就可以将学生人数说明成类的静态数据成员,以实现学生对象之间的数据共享。例程:利用静态数据成员统计对象个数……class CStu...原创 2018-08-06 17:53:12 · 449 阅读 · 0 评论 -
C++基础(10)this 指针
this指针的用途(1)通过this指针可以访问当前对象的数据成员C++为类的每个成员函数都提供了一个隐含的名字为this的指针参数: 类名* const this在成员函数中,隐含了对this指针的使用。例如,成员函数PrintInfo的定义被编译系统处理为:void CPoint::PrintInfo(CPoint* const this){ c...原创 2018-07-25 17:22:42 · 206 阅读 · 0 评论 -
C++基础(9)常成员函数与常对象
使用const说明的成员函数称为常成员函数。常成员函数不能修改对象数据成员的值,它通常用于获取对象的状态。 常对象在定义时就必须进行初始化。常对象的数据成员值在对象的整个生存周期内不能被改变。而且,为了对常对象进行保护,不允许常对象调用普通的成员函数,只能调用常成员函数。常成员函数的声明形式: 返回类型 函数名(参数表) const;void GetName(...原创 2018-07-25 14:44:45 · 462 阅读 · 0 评论 -
C++基础(8)对象数组与对象指针
void main(){ CStudent student1[3]; ////对象数组,一定要有默认构造函数,不能重载。这是对象数组的一个大缺点 student1[0].SetName("张三"); student1[0].SetID("23433"); student1[0].SetSex('0'); student1[0].SetMajor("物理"); student1[1]...原创 2018-07-25 11:39:38 · 883 阅读 · 0 评论 -
C++基础(7)构造函数与析构函数
构造函数名与类名相同。 函数没有函数返回值,就是将返回值说明成void也不行 。 构造函数一般声明为公有成员,但是它不能被显式地调用。 构造函数的主要目的是为对象分配空间,进行数据成员的初始化。 如果用户没有显式地在类中写出构造函数,那么系统会为该类自动生成一个默认的构造函数。这个默认构造函数的形式如下:类名::类名(){ ...}构造函数可以被重载,这在工程上十分常见。...原创 2018-07-25 10:44:58 · 258 阅读 · 0 评论 -
C++基础(6)类与对象的概念及使用
一.类的声明class 类名{ private: 私有数据成员和私有成员函数 public: 公有数据成员和公有成员函数 protected: 保护数据成员和保护成员函数 }; ////这个“;”结束符不能少如果类的成员没有访问符号,则默认为私有的。二.成员函数...原创 2018-07-25 09:39:16 · 167 阅读 · 0 评论 -
C++基础(5)函数
一.函数包括函数的定义,函数原型的声明,以及函数的调用。1.声明 void PrintInfo(Student student); 2.调用 PrintInfo(Student1);3.定义函数void PrintInfo(Student student){ cout<<"该学生的信息为:\n"; co...原创 2018-07-24 17:18:21 · 236 阅读 · 0 评论 -
C++基础(4)const、define定义常量
1.const修饰符可以对变量进行修饰,指定该变量的值是常量。编译器会对此进行检查,禁止对此常量进行修改。const unsigned int ARRAY_SIZE1 = 20;const unsigned int ARRAY_SIZE2 = 12; 上面两句代码指定了数组长度分别为20和12。struct Student //学生结构体{ char m_strName[...原创 2018-07-24 16:07:12 · 435 阅读 · 0 评论 -
C++基础(3)局部变量和引用
1.局部变量 在C++语言中,允许在代码块的任何地方定义局部变量;而在C语言程序中,局部变量必须集中定义在可执行语句的前面。 一般来说,在较短的函数代码中,将局部变量在函数开始位置集中定义比较好,这样在代码维护时能够迅速确定变量的定义位置;而在代码较长的大函数中,通常在最近使用变量的位置定义变量较合适,这样能够方便对程序的查看和修改。 2.引用 引用是C+...原创 2018-07-24 09:41:46 · 3795 阅读 · 0 评论 -
C++基础(2)动态内存分配:new和delete
通过new和delete运算符进行动态数组内存的分配与释放。pnNumber = new int; //使用new运算动态分配整数空间aStudent = new Student[*pnNumber]; //使用new运算符分配动态数组#include "stdafx.h"#include <iostream>using namespace std;...原创 2018-07-23 22:09:33 · 328 阅读 · 0 评论 -
C++基础(1)C++的输入与输出
C++继承了C绝大部分的语法,并进行了扩展。比如输入输出,C语言的scanf和printf,变成了C++的cout<<和cin>>。现在以一个常用的学生信息的例子来说明C++的输入输出功能。//学生信息的输入和输出功能#include <iostream> //输入与输出头文件using namespace std; //输入输出的命名空间,s...原创 2018-07-23 18:15:18 · 558 阅读 · 0 评论 -
C++基础(13)类对象作为成员
类中的数据成员可以是基本数据类型,也可以是类对象这样的复合数据类型。 在一个类的数据成员中包含了另一个类的对象称为类的组合。这个被包含的对象称为对象成员或子对象。以下实例将日期类的对象作为学生类的成员:#include <iostream>using namespace std;class CDate ///日期类{ private:...原创 2018-08-06 17:53:23 · 786 阅读 · 0 评论