21xrx.com
2024-11-05 16:24:53 Tuesday
登录
文章检索 我的文章 写文章
C++面向对象编程实例:从入门到进阶
2023-07-11 08:29:25 深夜i     --     --
C++ 面向对象编程 实例 入门 进阶

C++是一门被广泛应用于软件开发的编程语言,它可以用于开发各种应用程序,如操作系统、游戏、桌面程序、嵌入式系统等。其中,面向对象编程是C++的核心之一,也是其最大的特点之一。

在C++中,面向对象编程是指通过把数据和方法封装在一个类中,来表达某个实体的行为。这种编程方式可帮助程序员更好地组织和管理代码,提高代码的可复用性和可扩展性,并使其更易读、更易懂。

以下是一些C++面向对象编程的实例,从入门到进阶:

1. 建立一个基本的类和对象:


#include <iostream>

using namespace std;

class MyFirstClass {

  public:

    //定义一个公共的成员函数

    void printMsg()

      cout << "Hello

};

int main() {

  //新建一个MyFirstClass对象

  MyFirstClass myObj;

  //调用MyFirstClass的公共成员函数

  myObj.printMsg();

  return 0;

}

在本例中,定义了一个名为MyFirstClass的类,并声明了一个公共成员函数printMsg(),它输出“Hello, World!”。在主函数中,创建了一个MyFirstClass的对象myObj,然后通过调用它的成员函数printMsg(),输出了这句话。

2. 设置变量并访问:


#include <iostream>

using namespace std;

class MySecondClass {

  public:

    //定义两个公共变量

    int num1;

    string str1;

    //定义一个公共成员函数

    void showData()

      cout << "Num1 is: " << num1 << endl;

      cout << "Str1 is: " << str1 << endl;

    

};

int main() {

  //新建一个MySecondClass对象

  MySecondClass myObj;

  //设置公共变量的值

  myObj.num1 = 3;

  myObj.str1 = "C++ is awesome!";

  //通过调用成员函数来输出变量值

  myObj.showData();

  return 0;

}

在本例中,定义了一个名为MySecondClass的类,并声明了两个公共变量和一个公共成员函数showData(),它将变量num1和str1输出到终端。在主函数中,创建了一个MySecondClass的对象myObj,并给公共变量num1和str1赋了特定的值。然后,通过调用成员函数showData(),将这些变量输出。

3. 继承:


#include <iostream>

using namespace std;

class MyParentClass {

  public:

    //定义一个公共成员函数

    void showMsg()

      cout << "I am a parent." << endl;

    

};

class MyChildClass: public MyParentClass {

  public:

    //定义一个公共成员函数

    void showMsg()

      cout << "I am a child." << endl;

    

};

int main() {

  //新建一个MyChildClass对象

  MyChildClass myObj;

  //通过调用成员函数来输出不同的消息

  myObj.showMsg();

  //调用父亲类的成员函数

  myObj.MyParentClass::showMsg();

  return 0;

}

在本例中,定义了一个名为MyParentClass的类,并声明了一个公共成员函数showMsg()。然后,定义了一个名为MyChildClass的子类,并使用public关键字将它定义为MyParentClass的子类。这样,MyChildClass继承了MyParentClass的成员函数showMsg()。在主函数中,创建了一个MyChildClass的对象myObj,然后通过调用成员函数showMsg(),将子类和父类的消息都输出。

4. 多态:


#include <iostream>

using namespace std;

class MyFirstPoly {

  public:

    //定义一个公共虚函数

    virtual void showMsg()

      cout << "I am the first poly." << endl;

    

};

class MySecondPoly: public MyFirstPoly {

  public:

    //定义一个公共虚函数

    virtual void showMsg()

      cout << "I am the second poly." << endl;

    

};

int main() {

  //新建一个MyFirstPoly对象

  MyFirstPoly *myObj1 = new MyFirstPoly();

  //新建一个MySecondPoly对象

  MyFirstPoly *myObj2 = new MySecondPoly();

  //通过调用成员函数来输出不同的消息

  myObj1->showMsg();

  myObj2->showMsg();

  return 0;

}

在本例中,定义了一个名为MyFirstPoly的类,并声明了一个公共虚函数showMsg()。然后,定义了一个名为MySecondPoly的子类,并使用public关键字将它定义为MyFirstPoly的子类,同时重写了公共虚函数showMsg()。这样,MySecondPoly拥有了与MyFirstPoly同名不同实现的成员函数showMsg()。在主函数中,先创建一个MyFirstPoly的对象myObj1,再创建一个MySecondPoly的对象myObj2。通过调用成员函数showMsg(),可以观察到虚函数动态绑定机制的不同输出效果。

总之,C++面向对象编程为程序员提供了更好的组织和管理代码的方法,提高代码的可复用性和可扩展性,并使其更易读、更易懂。无论你是入门编程还是进阶者,以上4个实例都是非常有用的学习资源。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复