c++编程语言教程
简介
本页涵盖了c++面向对象语言优于C的特性,并提供了c++编程语言概念的快速指南。它涵盖了类、对象、构造函数、析构函数、友元、继承和操作符重载。
这教程封面特征c++编程语言这是面向对象的编程语言。就速度而言,c++比C更好,代码的可重用性也更好。c++也有效地管理它的内存。但是对于某些逻辑的同一段代码,c++通常比C需要更多的代码行。
c++优于C语言的特性
以下是c++中引入的一些特性,这些特性使C语言成为更好的C语言。
变量声明:在c语言中,变量需要在使用前进行声明。在c++语言中,变量可以在语句的中间,也就是需要第一次使用它的地方声明。
范围解析操作符:操作符双冒号(::)用作范围解析操作符。在c++中,它用于隐藏的全局变量,如下所示。它也用于稍后我们将看到的类。
int var1;
void main(空白)
{
int var1;
var1 = 20;//赋值给局部变量var1
::var1=60;//给全局变量var1赋值
Printf ("%d %d", var1,::var1);//输出20和60
}
函数重载:在c++编程语言中,两个或多个函数可以具有相同的名称。它是基于参数自动各自的函数将被编译器调用。
例如,
int之外(int, int)
浮动之外(整数、浮点数)
内联函数:这主要用于代码行数较少的情况。c++允许内联编译函数。这有助于克服宏观的影响。
inline int SQUARE(int a)
{
返回(*);
}
这将在编译后的代码中生成多个副本,而不是在调用它的地方生成一个副本。
c++快速指南
下面是一些概念,如类、对象、构造函数、析构函数、友元、继承、操作符重载,我们将在本c++教程中介绍。
类和对象
c++类基本上是一个帮助创造的工具对象.任何c++类都可以存储数据和函数(称为方法)。这些类方法将对类数据执行操作。
构造函数,析构函数
构造函数通常具有与类本身相同的名称。构造函数在为类创建对象时初始化类的数据成员。构造函数不能返回值,因此没有指定返回类型。
析构函数通常具有与类本身相同的名称,前面带有波浪号(~)。在c++程序中销毁任何对象时,将自动调用析构函数。与构造函数不同,不能将任何参数/参数传递给析构函数。
类、对象、构造函数、析构函数的示例
类Class_name
{public: //数据成员的声明
Public: //成员函数(方法)的声明
下面是类Employee和对象Emp1的示例。
类员工
{
公众:Emp_Name [15];
int Emp_ID;
浮动工资;
空白Disp_emp_detail(空白)
{
printf("员工姓名:%s", Emp_Name);
printf("员工ID:%d", Emp_ID);
printf("Employee Salary:%f", Salary);
};
};
void main(空白)
{
员工Emp1;//这里创建的类的对象
strcpy (Emp1.Emp_Name,“詹姆斯”);
strcpy (Emp1.Emp_ID, 2345);
Emp1.Salary = 10455.50;
Emp1.Disp_emp_detail ();//显示所有已初始化的值。
}
Disp_emp_detail函数可以在类外部定义,如下所述(使用范围解析操作符)。在这种情况下,它必须在类内部声明。
Disp_emp_detail(void);/ /声明
雇员::Disp_emp_detail(void)
{
printf("员工姓名:%s", Emp_Name);
printf("员工ID:%d", Emp_ID);
printf("Employee Salary:%f", Salary);
};
构造函数雇员的定义如下。
雇员:雇员(char *名称,int ID,浮动工资)
{
拷贝字符串(Emp_Name、名称);
Emp_ID = ID;
员工:工资=工资;
}
析构函数可以如下方式声明和定义。
~员工(无效);//类定义中的原型声明
员工::~员工(空白)
{
printf("删除ID= %d的特定员工的详细信息",Emp_ID);
}
公有、私有、保护
Public,Private和protected是在c++中为不同的函数声明类数据变量的三种形式,由程序员计划如下所述。
公共任何函数都可以访问声明为public的数据变量。
私人,只有声明它的类和友元才能访问类的私有数据成员。
保护- - - - - -只有声明它的类、该类的派生类以及该类的友类才能访问受保护的数据成员。
New和delete关键字
c++从一个叫做自由存储的池中分配内存。在C语言中,这个池称为堆。新类似于C语言编程中的malloc。删除类似于免费的c编程。
例子:
雇员*工人=新工人(“塞缪尔”,2135,8945.25);
删除工作;
朋友类和朋友函数
如前所述,类的私有成员只能由该类成员方法(函数)访问。但是为了利用它们对其他类和其他类的函数的访问,引入了友好的概念。因此,类的私有数据成员可以在友类和中访问朋友的功能声明私有数据成员的类的。
例子:朋友类
a类
{
朋友b;
/ /一些语句
}
这类b成员函数可以访问类一个私有成员。
b类
{
朋友一个;
}
这类一个成员函数可以访问类b私有成员。
示例:Friend函数
Friend return_type function_name(参数);
友元函数声明在任何类定义中都是合法的,如下所述。
类class_name
{
int value1;
朋友int访问(class_name int);
Public: class_name(int x) {value1=x;}
};
访问函数是类的友元函数,因此现在可以访问类的任何私有成员。
友元函数原型可以在类定义本身中声明,如下所示。
class_name::function_name(参数类型);
继承
从基类派生一个或多个类的过程被调用继承.任何类都可以作为基类来派生它的子类。派生类将具有基类的特征。此外,他们将有自己独特的特点。c++还支持来自多个基类的派生类。
继承的例子:
类derived_class1: base_class
{
/ /声明;
};
类derived_class2: derived_class1
{
/ /声明;
};
操作符重载
传统的编程语言不允许操作用户定义的数据类型。例如,在C语言中,不能添加两个结构体。在c++中,程序员可以用用户定义的函数来代替现有的操作符。它的语法是,
类型操作符op(参数列表),
这里op是要重载的操作符,type是返回值,parameters list是传递给重载函数.