一路探索者

导航

 

      一般情况下,只建立一个对象,这种方法较简单。没有参数的,只需在对象名后加括号,如CDesk desk();有参数的,只需在对象名后括号内输入参数,如CDesk desk(123)。

      若是创建多对象,则更复杂了。本篇详细介绍这些用法。

 

      本例的关键代码如下:

#include "stdafx.h"

#include <iostream>

using namespace std;

class Animal

{

public:

       Animal(int w)

       {

       weight=w;

       }

       int weight;

       void show()

       {

       cout<<"Animal Weight:"<<weight<<"\n";

       }

};

class Person

{

public:

       Person(char* n,int a,int w)

       {

           name=new char[strlen(n)];

          strcpy(name,n);

          age=a;

          weight=w;

       }

      char* name;

      int age;

      int weight;

       void show()

       {

              cout<<"Person Name:"<<name<<"\n";

              cout<<"Person Age:"<<age<<"\n";

              cout<<"Person Weight:"<<weight<<"\n";

       }

};

int _tmain(int argc, _TCHAR* argv[])

{

       //1、最简单的创建单个对象的方法

       Animal animal1(269);

       animal1.show();

 

       //2、创建多个对象的方法(不构建对象)

       Animal animal2[3]={300,400,500};

       //带个参数的构造函数,可直接输入参数

       for(int i=0;i<3;i++)

              animal2[i].show();

 

       //3、创建多个对象的方法(非指针对象)

       Animal animal3[3]={Animal(300),Animal(400),Animal(500)};

       for(int i=0;i<3;i++)

              animal3[i].show();

 

       //4、创建多个对象的方法(指针对象)

       Animal* animal4[]={new Animal(300),new Animal(400),new Animal(500)};

       for(int i=0;i<3;i++)

              animal4[i]->show();

 

        //1、最简单的创建单个对象的方法

       Person person1("Liu Jun111",16,100);

       person1.show();

 

       /*

       //2、创建多个对象的方法(不构建对象)

       Person person2[3]={("Liu Jun",16,100),("Ma Jun",26,120),("Zhang Yue",33,130)};

       //带个以上参数的构造函数,不能直接输入参数

       for(int i=0;i<3;i++)

              person2[i].show();//error C2440: “初始化”: 无法从“int”转换为“Person”

       */

 

       //3、创建多个对象的方法(非指针对象)

       Person person3[3]={Person("Liu Jun",16,100),

                           Person("Ma Jun",26,120),

                                      Person("Zhang Yue",33,130)};

       for(int i=0;i<3;i++)

              person3[i].show();

 

       //4、创建多个对象的方法(指针对象)

      Person* person4[]={new Person("Liu Jun",16,100),

                                     new Person("Ma Jun",26,120),

                                     new Person("Zhang Yue",33,130)};

       for(int i=0;i<3;i++)

              person4[i]->show();

 

       return 0;

}

posted on 2021-06-18 10:45  一路探索者  阅读(125)  评论(0)    收藏  举报