赞
踩
//1. 定义一个Cat类,包含一个名字属性,用string对象存放该属性,编写存取该属性的函数,并进行测试。
#include <iostream>
#include <string>
using namespace std;
class Cat{
public:
void setname(string newname);
void getname();
private:
string name;
};
void Cat::setname(string newname)
{
name=newname;
}
void Cat::getname()
{
cout<<name<<endl;
}
int main()
{
Cat myCat;
myCat.setname("mimi");
myCat.getname();
return 0;
}
//2. 定一个Data类,内含一个char* p成员变量,要求在构造函数中给p分配100字节内存,在析构函数中释放内存。
#include <iostream>
#include <string>
using namespace std;
class Data{
public:
void setData(char m[100]);
void getData();
Data();
~Data();
private:
char *p;
};
void Data::getData()
{
p="sasas";
cout<<p<<endl;
}
Data::Data()
{
cout<<"调用无参构造器"<<endl;
char *p=new char[100];
}
Data::~Data()
{
cout<<"调用析构器"<<endl;
delete []p;
}
int main()
{
Data my;
my.getData();
return 0;
}
//3. (1)定义一个head类,包含一个年龄属性,编写一个带一个参数的构造函数,并定义好相关存取函数。(2)定义一个body类,包含一个重量属性,编写一个带一个参数的构造函数,并定义好相关存取函数。(3)定义一个person类,包含一个head对象,一个body对象和一个姓名属性,定义一个带三个参数的构造函数,用初始化列表初始化内含的head对象、body对象和姓名属性。进行简单的测试。
#include <iostream>
#include <string>
using namespace std;
class head{
private:
int age;
public:
head(int age1=0)
{
age=age1;
cout<<age<<endl;
}
head(head &p)
{
age=p.age;
cout<<"copy"<<age<<endl;
}
int get1()
{
return age;
}
};
class body{
private:
int weight;
public:
body(int weight1=0)
{
weight=weight1;
cout<<weight<<endl;
}
body(body &q)
{
weight=q.weight;
cout<<"copy"<<weight<<endl;
}
int get2()
{
return weight;
}
};
class person{
private:
head mage;
body mweight;
string name;
public:
person(int newname){
name=newname;
}
string getn()
{
return name;
}
person(head pmage,body pmweight,string pname):mage(pmage),mweight(pmweight),name(pname)
{
cout<<"person constructior"<<endl;
}
int get3()
{
int a=mage.get1();
return a;
}
int get4()
{
int b=mweight.get2();
return b;
}
};
int main()
{
head p1(18);
body p2(100);
person person(p1,p2,"xlj");
cout<<person.get3()<<endl;
cout<<person.get4()<<endl;
cout<<person.getn()<<endl;
return 0;
}

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。