一般情况下,只建立一个对象,这种方法较简单。没有参数的,只需在对象名后加括号,如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;
}
浙公网安备 33010602011771号