C++基础
C++例程分析
#include "iostream.h"
int main(void)
{ int x;
cout<<"输入x=";
cin >>x;
cout<<"x="< return 0;
}
数据类型
变量(variable)
基本数据类型 char short int long (unsignedg正数)整型
float double 浮点
const常数
自定义数据类型
结构(struct)
struct 标识符{ 类型1 变量1;
类型2 变量2;
… …
类型n 变量n;
}
例:struct abc {int a;float b;char c;}
abc a0;
a0.a=1; a0.b=1.1; a0.c='a';
联合(union)
union 标识符{ 类型1 变量1;
类型2 变量2;
… …
类型n 变量n;
}
例:union abc {int a;float b;char c;}
abc a0; //定义a0为联合abc变量,a0可同时是int,float,char型
枚举(enum)
enum 标识符{成员1、成员2、…、成员n}
例:enum abc{a,b,c}; //定义枚举类型abc
abc a0; //定义a0为枚举abc变量
a0=b; a0=1; //是等价的
sizeof运算符
计算变量或类型的字节长度
例:int x;
sizeof(x); //值为2
sizeof(double); //值为8
条件运算符
y=(x>1)?x:0等价于
if(x>1) y=x;
else y=0;
函数(function)
类 (class)
类定义
class 类名
{private:
//私有类型,类本身调用。
public:
//公有类型,外部可调用。
protected:
//保护类型,派生类可调用。
};
类实例
class abc
{private:
int p_var;
public:
void init(int a);
int show(void);
};
void abc::init(int a)
{
}
int abc::show(void)
{
}
main()
{abc a0;
a0.p_var=5;
a0.init(10);
a0.show();
}
对象(object)
对象就是类的变量;如上面的a0。
对象声明后;就可以通过对象使用类中的公用数据和函数。
对象名•数据成员 或对象名•成员函数
内联成员函数
在类定义中直接给出成员函数的声明。内联成员函数调用时间短,代码长。
class abc
{
int x; //默认为private型
public:
void init(int x,int y) //内联成员函数
{
}
int show() {return x;} //内联成员函数
};
关键字 inline 可以将类外声明的成员函数视为内联函数
class abc
{
int x; //默认为private型
public:
void init(int x,int y) ;
int show();
};
inline abc::void init(int x,int y) //内联成员函数
{
}
inline abc::int show() {return x;} //内联成员函数
结构和类
结构是类的特例,在结构中也可定义成员函数。
struct abc
{
int x; //默认为private型
public:
void init(int x,int y) ;
int show();
};
inline abc::void init(int x,int y) //内联成员函数
{
}
inline abc::int show() {return x;} //内联成员函数
结构与类的区别是;默认时,结构中所有成员是公有的,类中是私有的。一般我们还是在只描述数据时用结构,同时描述数据、函数时用类。
this指针
构造函数和析构函数
构造函数是和所属类同名的特殊成员函数,用于类数据的初始化。可重载。
析构函数也是和所属类同名的特殊成员函数,前面加个~,作用与构造函数相反,用于释放内存,声明对象消亡。不可重载。
静态成员
类的成员可用static 修饰为静态成员。类定义后,不用建立对象,都可以使用类的静态成员。
class abc
{public:
static int x;
static int show();
}
abc::x=1; //全局使用
main()
{abc::x=1;
abc::show();
}
友元函数
友元函数可以访问对象的私有成员,但破坏了数据的封闭,建议少用。
类的继承
被继承的类叫基类,继承的类叫派生类。
单一继承
继承关系中只有一个基类。
class 派生类名:访问权限 基类名
{成员说明;
};
访问权限默认为public。
例如:
class a0
{public:
void fun1();
};
class a1:private a0 (私有)
{public:
void fun2();
};
class a2:public a1 (公有)
{public:
void fun3();
}
main()
{a2 abc;
adc.fun1(); //错误,fun1()在a1中是私有的。
adc.fun2(); //正确
adc.fun3(); //正确
}
保护成员
protected保护类型,对派生类是公有的,对外部是私有的。
多重继承
一个类从多个基类派生。
class 派生类名:访问权限 基类名1,…,访问权限 基类名n
{成员说明;
};
例如:
class a0 //基类1
{public:
void fun1();
};
class a1: //基类2
{public:
void fun1();
};
class a2:public a1,public a2 //同时继承a0,a1
{public:
void fun2(int x,int y);
}
void a2::fun2(int x,int y) //a0,a1中都有fun1()
{a0::fun1(x); //用域成员运算符区别。
a1::fun1(y);
}
初始化基类成员
构造函数和析构函数是不能继承的,派生类只能调用它的直接基类的构造函数。
多态性和虚函数
C++可以建立具有相同成员函数名的对象的等级结构,不同的类其功能不同;所以对象在接受同一函数调用的行为有不同,这一功能称为多态性。
C++支持两种多态性;
编译时的多态性,通过使用重载函数获得。
运行时的多态性,通过使用继承的虚函数来获得。
虚函数
C++例程分析
#include "iostream.h"
int main(void)
{ int x;
cout<<"输入x=";
cin >>x;
cout<<"x="<
}
数据类型
变量(variable)
基本数据类型 char short int long (unsignedg正数)整型
float double 浮点
const常数
自定义数据类型
结构(struct)
struct 标识符{ 类型1 变量1;
类型2 变量2;
… …
类型n 变量n;
}
例:struct abc {int a;float b;char c;}
abc a0;
a0.a=1; a0.b=1.1; a0.c='a';
联合(union)
union 标识符{ 类型1 变量1;
类型2 变量2;
… …
类型n 变量n;
}
例:union abc {int a;float b;char c;}
abc a0; //定义a0为联合abc变量,a0可同时是int,float,char型
枚举(enum)
enum 标识符{成员1、成员2、…、成员n}
例:enum abc{a,b,c}; //定义枚举类型abc
abc a0; //定义a0为枚举abc变量
a0=b; a0=1; //是等价的
sizeof运算符
计算变量或类型的字节长度
例:int x;
sizeof(x); //值为2
sizeof(double); //值为8
条件运算符
y=(x>1)?x:0等价于
if(x>1) y=x;
else y=0;
函数(function)
类 (class)
类定义
class 类名
{private:
//私有类型,类本身调用。
public:
//公有类型,外部可调用。
protected:
//保护类型,派生类可调用。
};
类实例
class abc
{private:
int p_var;
public:
void init(int a);
int show(void);
};
void abc::init(int a)
{
}
int abc::show(void)
{
}
main()
{abc a0;
a0.p_var=5;
a0.init(10);
a0.show();
}
对象(object)
对象就是类的变量;如上面的a0。
对象声明后;就可以通过对象使用类中的公用数据和函数。
对象名•数据成员 或对象名•成员函数
内联成员函数
在类定义中直接给出成员函数的声明。内联成员函数调用时间短,代码长。
class abc
{
int x; //默认为private型
public:
void init(int x,int y) //内联成员函数
{
}
int show() {return x;} //内联成员函数
};
关键字 inline 可以将类外声明的成员函数视为内联函数
class abc
{
int x; //默认为private型
public:
void init(int x,int y) ;
int show();
};
inline abc::void init(int x,int y) //内联成员函数
{
}
inline abc::int show() {return x;} //内联成员函数
结构和类
结构是类的特例,在结构中也可定义成员函数。
struct abc
{
int x; //默认为private型
public:
void init(int x,int y) ;
int show();
};
inline abc::void init(int x,int y) //内联成员函数
{
}
inline abc::int show() {return x;} //内联成员函数
结构与类的区别是;默认时,结构中所有成员是公有的,类中是私有的。一般我们还是在只描述数据时用结构,同时描述数据、函数时用类。
this指针
构造函数和析构函数
构造函数是和所属类同名的特殊成员函数,用于类数据的初始化。可重载。
析构函数也是和所属类同名的特殊成员函数,前面加个~,作用与构造函数相反,用于释放内存,声明对象消亡。不可重载。
静态成员
类的成员可用static 修饰为静态成员。类定义后,不用建立对象,都可以使用类的静态成员。
class abc
{public:
static int x;
static int show();
}
abc::x=1; //全局使用
main()
{abc::x=1;
abc::show();
}
友元函数
友元函数可以访问对象的私有成员,但破坏了数据的封闭,建议少用。
类的继承
被继承的类叫基类,继承的类叫派生类。
单一继承
继承关系中只有一个基类。
class 派生类名:访问权限 基类名
{成员说明;
};
访问权限默认为public。
例如:
class a0
{public:
void fun1();
};
class a1:private a0 (私有)
{public:
void fun2();
};
class a2:public a1 (公有)
{public:
void fun3();
}
main()
{a2 abc;
adc.fun1(); //错误,fun1()在a1中是私有的。
adc.fun2(); //正确
adc.fun3(); //正确
}
保护成员
protected保护类型,对派生类是公有的,对外部是私有的。
多重继承
一个类从多个基类派生。
class 派生类名:访问权限 基类名1,…,访问权限 基类名n
{成员说明;
};
例如:
class a0 //基类1
{public:
void fun1();
};
class a1: //基类2
{public:
void fun1();
};
class a2:public a1,public a2 //同时继承a0,a1
{public:
void fun2(int x,int y);
}
void a2::fun2(int x,int y) //a0,a1中都有fun1()
{a0::fun1(x); //用域成员运算符区别。
a1::fun1(y);
}
初始化基类成员
构造函数和析构函数是不能继承的,派生类只能调用它的直接基类的构造函数。
多态性和虚函数
C++可以建立具有相同成员函数名的对象的等级结构,不同的类其功能不同;所以对象在接受同一函数调用的行为有不同,这一功能称为多态性。
C++支持两种多态性;
编译时的多态性,通过使用重载函数获得。
运行时的多态性,通过使用继承的虚函数来获得。
虚函数
再来个5.1
安装VS2003

2008/05/04 03:09 | by 



