关键字:数据类型、类名等
实数类型:浮点数 5E3=5x10³ 3E-5=3x10负五次方
常量:字符常量、字符串常量、整型常量 A.16进制数 B.浮点数 C.长整型 D.转义符号
相当于x=x*(x+2)
在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值
按顺序依次对应调用
B. 函数传递中必须是一个已经确定的值,不可传递表达式等
析构函数:无形参,也不可重载 释放对象所占内存资源
对于任何一个类,析构函数最多有1个;类的析构函数是在删除对象时被自动调用的
b(2) 调用一次构造函数并且赋初值 b[2]调用两次构造函数 *P不是对象,不调用构造函数
友元函数只是使用了类中的私有成员 复制构造函数的作用是用对象初始化对象
构造函数可以被继承,析构函数不可以被继承
具有转化函数功能的构造函数:
定义一个处理日期的类TDate,它有3个私有数据成员:month,day,year和若干个公有成员函数,并实现如下要求:①构造函数重载;②成员函数设置缺省参数;③定义一个友元函数来打印日期; ④可使用不同的构造函数来创建不同的对象;⑤测试程序。
#include<iostream>
using namespace std;
class TDate
{
private:
int month,day,year;
public:
TDate(int d=10,int m=9,int y=1991):day(d),month(m),year(y){};
TDate(char a){
if(a=='t')
{
day=10;
month=7;
year=2018;
}
}
friend void print(TDate &t);
};
void print(TDate &t)
{
cout<<t.year<<"年"<<t.month<<"月"<<t.day<<"号"<<endl;
}
int main(void)
{
TDate t1;
TDate t2(30,10);
TDate t3('t');
print(t1);
print(t2);
print(t3);
}
1991年9月10号
1991年10月30号
2018年7月10号
默认赋值为0
char str[6]="good!"; 数组中留有一个特殊的空间
int a[2][2]={1,2};//给a[0][0]和a[0][1]赋值 int a[2][2]={{1},{2}}; //a[0][0]和a[1][0]赋值
int a[2][2]={{1,2},{2,3}}; //a[0][0] a[0][1] a[1][0] a[1][1]
int a[ ][2] //和上面例子相同
int a[2][ ] //行可以省略、列不可以省略
指针数组:是指一个数组里面装着指针,其实还是一个数组,定义形式为“int *a[10]”;
数组指针:是指一个指向数组的指针,其实还是一个指针,只不过是指向数组而已,定义形式为“int (*p)[10]”
int所占字节个数:4 float所占字节个数:4
double所占自己个数:8 char所占字节个数:1
int *p,a;
*p=a; p存储a的地址并且指向a
p=&a;
*p=&a; //p=&&a; 错误
p=a; //编译错误
*a+1=&a[0][1] **a=1;
#include<iostream>
using namespace std;
int main()
{
int a=2;
int *p=&a;
cout<<p<<endl;
cout<<*p<<endl;
int *q;
q=&a;
cout<<q<<endl;
cout<<*q<<endl;
int *l;
*l=a;
cout<<l<<endl;
cout<<*l<<endl;
}
0xe3fd40
2
0xe3fd40
2
0x1420d44
2
int a; //共有三种写法 此题中s相当于&a
int *p=&a; int *p; p=&a; int *p; *p=a;
(*name+i) = (*pName+i)= ' \0 '
行优先存储 多维数组
程序阅读题:
#include <iostream.h>
void main()
{
static int b[][3] = { {1,2,3},{4},{5,6} };
b[0][2]=12,b[1][2]=18;
cout << **b<<"\t"<<**(b+1) <<"\t"
<<**b+1<<"\t"<<*(*(b+1)+2) <<"\n";
cout << b[0][2]+b[1][2]+b[2][2]<< endl;
}
运行结果:
1 4 2 18
30
数组b的存储: **(b+1)指向下一行 **b+1指向下一列
1 2 3 1 2 12
4 0 0 4 0 18
5 6 0 5 6 0