摘要:继承的一般形式: class <派生类名>:<派生方式><基类名> { 派生类成员声明; } 其中派生方式为private私有继承、public公有继承、protected保护继承 访问控制,看如下表:从上表中可以看出:1、基类中的私有成员在派生类中是隐藏的,只能在基类内部访问;2、派生类中的成员不能访问基类中的私有成员,但可以访问基类中的公有成员和保护成员;3、派生类从基类公有继承时,基类的公有成员和保护成员在派生类中仍为公有成员和保护成员;4、派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员;5、派生类从基类保护继承时,基类的公
阅读全文
摘要:一、四中定义结构体类型变量方式以及初始化1、先定义结构体类型再单独进行变量定义struct Student{ int Code; char Name[20]; char Sex; int Age;};struct Student Stu;struct Student Stu[10];struct Student *pStu;初始化struct Student{ int Code; char Name[20]; char Sex; int Age;};struct Student Stu={200301,"张三",'M',21};2、紧跟在结构体类型说明之后进
阅读全文
摘要:1、指针作为函数参数 跟传址函数一样的用法,形参的改变对应的实参有效。2、指针函数 指针最为函数的返回值。 语法格式: 数据类型 *函数名(参数表) 1、数据类型是函数返回的指针所指向数据的类型 2、*函数名声明了一个指针型的函数 3、参数表是函数的形参列表 例如:int *fun(int a,int b); 3、函数指针 指向函数的指针 语法格式: 数据类型 (*函数指针名)(参数表); 1、数据类型是指函数指针所指向的返回值的类型 2、参数表中指明该函数指针所指向函数的形参类型和个数 例如:int (*p)(int ,int) 在定义了指向函数的指针变量后,在使用此函数指针之前,必须先给他
阅读全文
摘要:指针中,关键字const放在不同的位置表示的意义:1、const int *p;这种情况下,表示的是一个指向常量的指针,程序中不能通过指针来改变它所指向的值,但是指针本身的值可以改变,即指针可以指向其他的数据。就好像她,她就像冷血动物,她是那么的无情,不论我是多么的爱她,为她做多少的改变,又或者其他人对她的关心,她都没有感觉,她只顾她自己,或许我是该去寻找生命中的另外一个,结束这无尽的痛苦。2、int * const p; 这种情况下,声明一个指针常量(也称常指针)。指针本身的值不可变,即它不能再指向其他数据,但它所指向的数据的值可以改变。就好像我,我的心里只有她,一直都不会改变,你只要问我最
阅读全文
摘要:一、算术运算: 1、指针与证书的加减运算:(px+n,px-n) 指针作为地址量加上或减去一个整数n,其意义是指针当前指向位置的前方或后方第n个数据的位置。由于指针可以指向不同数据类型,即数据长度不同的数据,所以这种运算的结果取决于指针指向的数据类型。 例如:当字符指针加1,实际结果是指针中的地址值加1;整数指针加1,实际结果是指针中的地址值加2; * p+n的实际操作是:(p)+n*sizeof(数据类型); * p-n的实际操作是:(p)-n*sizeof(数据类型); 2、指针加1、减1运算:(px++,++px,px--,--px) 具有1中的计算特点,例如: y=*px++; 该表达
阅读全文
摘要:1、#define SQ(y) (y)*(y)#include<iostream.h>void main(){ int a,sq; cout<<"input a number:"; cin>>a; sq=SQ(a+1); cout<<"sq="<<sq<<endl;}当输入一个2时,可以看到结果:2、#define SQ(y) y*y#include<iostream.h>void main(){ int a,sq; cout<<"input a n
阅读全文