
求指导,这两个C++程序看不懂,求帮忙分析一下,坐等.(真的没有财富值了,跪!)
1.#include<iostream.h>#include<string.h>classCD{char*a;intb;public:voidInit(char*aa,i...
1.
#include<iostream.h>
#include<string.h>
class CD {
char* a;
int b;
public:
void Init(char* aa, int bb)
{
a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char* Geta() {return a;}
int Getb() {return b;}
void Output() {cout<<a<<'
'<<b<<endl;}
};
void main()
{
CD dx,dy;
char a[20];
dx.Init("abcdef",30);
strcpy(a,dx.Geta());
strcat(a,"xyz");
dy.Init(a,dx.Getb()+20);
dx.Output();
dy.Output();
}
2
#include<iostream.h>
#include<string.h>
class CD {
char* a;
int b;
public:
void Init(char* aa, int bb)
{
a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char* Geta() {return a;}
int Getb() {return b;}
void Output() {cout<<a<<'
'<<b<<endl;}
} dx;
void main()
{
CD dy;
dx.Init("abcdef",30);
dy.Init("shenyafen",3*dx.Getb()+5);
dx.Output();
dy.Output();
}
两道题目的答案分别是:abcdef 30、abcdefxyz 50;abcdef 30、shenyafen 95 展开
#include<iostream.h>
#include<string.h>
class CD {
char* a;
int b;
public:
void Init(char* aa, int bb)
{
a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char* Geta() {return a;}
int Getb() {return b;}
void Output() {cout<<a<<'
'<<b<<endl;}
};
void main()
{
CD dx,dy;
char a[20];
dx.Init("abcdef",30);
strcpy(a,dx.Geta());
strcat(a,"xyz");
dy.Init(a,dx.Getb()+20);
dx.Output();
dy.Output();
}
2
#include<iostream.h>
#include<string.h>
class CD {
char* a;
int b;
public:
void Init(char* aa, int bb)
{
a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char* Geta() {return a;}
int Getb() {return b;}
void Output() {cout<<a<<'
'<<b<<endl;}
} dx;
void main()
{
CD dy;
dx.Init("abcdef",30);
dy.Init("shenyafen",3*dx.Getb()+5);
dx.Output();
dy.Output();
}
两道题目的答案分别是:abcdef 30、abcdefxyz 50;abcdef 30、shenyafen 95 展开
1个回答
展开全部
#include<iostream.h>
#include<string.h>
class CD { //定声明一个CD类
char* a; //私有型的字符指针变量a,整型变量b
int b;
public:
void Init(char* aa, int bb) //普通成员函数
{
a=new char[strlen(aa)+1]; //给字符指针变量分配内存,多加一个1存放结束符'\0'
strcpy(a,aa); //字符串的拷贝函数,将aa赋给a
b=bb; //将bb的值赋给b
}
char* Geta() {return a;} //返回一个字符型指针
int Getb() {return b;} //返回一个整型值
void Output() {cout<<a<<'
'<<b<<endl;} //输出字符串和整型数
};
void main()
{
CD dx,dy; //定义两个CD类的对象
char a[20]; //定义字符数组
dx.Init("abcdef",30); //调用成员函数,此时类中的a="abcdef", b=30
strcpy(a,dx.Geta()); //调用成员函数,将返回的值赋给a《此a非彼a》,为上面定义的字符数组
strcat(a,"xyz"); //字符串的连接函数,a="abcdef xyz"
dy.Init(a,dx.Getb()+20); //调用成员函数,对象dy中的a="abcdef xyz",b=30+20=50
dx.Output(); //调用成员函数,输出
dy.Output(); //调用成员函数,输出
}
第二题与第一题相同,只是dx对象在声明是就已经定义了,而第一个都是在主函数定义的!
#include<string.h>
class CD { //定声明一个CD类
char* a; //私有型的字符指针变量a,整型变量b
int b;
public:
void Init(char* aa, int bb) //普通成员函数
{
a=new char[strlen(aa)+1]; //给字符指针变量分配内存,多加一个1存放结束符'\0'
strcpy(a,aa); //字符串的拷贝函数,将aa赋给a
b=bb; //将bb的值赋给b
}
char* Geta() {return a;} //返回一个字符型指针
int Getb() {return b;} //返回一个整型值
void Output() {cout<<a<<'
'<<b<<endl;} //输出字符串和整型数
};
void main()
{
CD dx,dy; //定义两个CD类的对象
char a[20]; //定义字符数组
dx.Init("abcdef",30); //调用成员函数,此时类中的a="abcdef", b=30
strcpy(a,dx.Geta()); //调用成员函数,将返回的值赋给a《此a非彼a》,为上面定义的字符数组
strcat(a,"xyz"); //字符串的连接函数,a="abcdef xyz"
dy.Init(a,dx.Getb()+20); //调用成员函数,对象dy中的a="abcdef xyz",b=30+20=50
dx.Output(); //调用成员函数,输出
dy.Output(); //调用成员函数,输出
}
第二题与第一题相同,只是dx对象在声明是就已经定义了,而第一个都是在主函数定义的!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询