zl程序教程

您现在的位置是:首页 >  其他

当前栏目

c/c++面向对象编程基础

2023-03-14 22:48:44 时间

c/c++ 面向对象编程基础


对象 = 属性+方法,属性对应着对象特征的描述,也就是变量,方法对应着对象的行为,也就是函数。

优点

与人类习惯的思维方法一致

稳定性好

可重用性好

易于开发大型软件产品

可维护性好

易于测试和调试

类是对象的封装,实现步骤:

定义一个类,分别用数据成员和函数成员来表现对象的属性和行为

进一步定义类的成员函数,使各个函数相互配合以实现接口对外提供的功能

通过该类声明属于该类的变量(即对象)

一.c++类的定义

1.类定义的基本形式

private和public无先后顺序。

class 类名
{
    private:
  私有成员函数
  私有数据成员定义
    public:
  公空成员函数
};


2.类定义的实例

class student
{
    private:
  float score;
    public:
  void print();
  void setscore(float t);
};

3.在定义类的时候定义成员函数


class student
{
    private:
  float score;
    public:
  void print()
  {
    cout<<score<<endl;
  }
  void setscore(float t)
  {
    score = t;
  }


4.在类定义的外部定义成员函数


class student
{
    private:
  float score;
    public:
  void print();
  void setscore(float);
};
void student::print()
{
    cout<<score<<endl;
}
void setscore(float t)
{
    score = t;
}

二.类的使用

1.声明一个类对象

student stu1;
stu1.setscore(5.1);
stu1.print();

2.对象的作用域、可见域和生存期

和普通对象的 作用域、可见域和生存期差不多,也有全局、局部和类内之分。

局部对象: 当对象被定义时调用构造函数,该对象被创建;当程序退出定义该对象所在的函数体或程序块时,调用析构函数,释放该对象。

静态对象:当程序第一次执行行所定义的静态对象时,该对象被创建;当程序结束时,该对象被释放。

全局对象:当程序开始时,调用构造函数创建对象;当程序结束时,调用析构函数释放对象。


三. 对象类的创建和销毁

1.认识构造函数:

当对象创建的时候,自动调用构造函数,函数名与类名相同,没有返回类型和返回值。

作用:给对象一个标识符,为对象开辟内存空间,完成数据成员的初始化工作。

2.在用户没有定义构造函数的时候,系统会生成默认构造函数,但只是给一个标识符和内存空间,并不会初始化。

3.用户定义构造函数

定义无参数的构造函数


class stu
{
    private:
  int x;
  int y;
    public:
  stu();  
}
stu::stu()
{
    x = 0;
    y = 0;
}


定义有参数的构造函数


class stu
{
    private:
  int x;
  int y;
    public:
  stu(int x1,int y1)
  {
    x = x1;
    y = y1;
  }  
};
int main()
{
    stu a(5,6);
    return 0;
}

构造函数支持重载,在传递的初始类型不同意的时候,可以定义不同类型的参数,供其调用。


4.初始化表达式


公众号:FPGA之旅