求教两道C++题目,该如何处理

求教两道C++题目1、求两个大数相乘 void(const char* x,const char* y, char* z)x 1234567890123456789

求教两道C++题目
1、求两个大数相乘 void(const char* x,const char* y, char* z);
x = "12345678901234567890",y = "12345678901234567890",z为x*y的输出

2、用C语言实现C++的类函数。

[解决办法]
下面是大整数相乘:

C/C++ code
#include <iostream>using std::cout;using std::endl;int main(){char a[] = "123456789";    char b[] = "12345678";    int La = 0, Lb = 0, i = 0;    while(a[i++] != '\0')        ++La;    i = 0;    while(b[i++] != '\0')        ++Lb;    char *c = (char *)malloc(La + Lb + 1);    int v1 = 123456, v2 = 12345;    for( i = 0; i < La + Lb; ++i)        c[i] = '0';    c[La + Lb] = '\0';    for( i = Lb - 1; i >= 0; --i)    {        int k = 0, p = 0, t = i + La;        if(b[i] != '0')        {            for(int j = La - 1; j >= 0; --j)            {              int v = (b[i] - '0') * (a[j] - '0') + k;              k = v/10;              int v1 = c[t] - '0' + v%10 + p;              p = v1/10;              c[t--] = v1%10 + '0';           }        }     }    printf("a * b =%d\n",v1 * v2);    //for(int i = 0; i < sizea + sizeb -1; ++i)    //    printf("%c",c[i]);    printf("%s",c);    printf("\n");return 0;}
[解决办法]
C/C++ code
#include <string>#include <iostream>using std::cout;using std::endl;using std::string;struct student{    student();    student(string name,int age,char sex);    ~student();    void setname(string name);    void setage(int age);    void setsex(char ch);    int getID();    string getname();    int getage();    char getsex();    int ID;    string name;    int age;    char sex;    static int number;};int student::number = 1;student::student():ID(0),name(""),age(0),sex(' '){}student::student(string name,int age,char sex):ID(number++),name(name),age(age),sex(sex){}student::~student(){}void student::setname(string name){this->name = name; }void student::setage(int age){this->age = age;}void student::setsex(char sex){this->sex = sex;}int student::getID(){return ID;}string student::getname(){return name;}int student::getage(){return age;}char student::getsex(){return sex;}int main(){student s;s.setname("dujuan");return 0;}
[解决办法]
第二个问题不知道是不是用函数指针实现:
C/C++ code
struct A;typedef void (* FUNC)(A&);struct A{    int x;    FUNC func;};void testFunc(A& a){    a.x++;}int main(){    A a;    a.x = 1;    printf("%d\n",a.x);    a.func = testFunc;    (*a.func)(a);    printf("%d\n",a.x);    getchar();    return 0;}
[解决办法]
用struct,定义函数指针,绑定this 即可。
C/C++ code
struct aa{    typedef void (*ptr)(struct aa *);    ptr func;    int a;};void dosomething(struct aa* dd){        printf("%d", dd->a);}int main(){    struct aa  p;    p.a = 4;    p.func = &dosomething;    p.func(&p);    return 0;}
[解决办法]
探讨

引用:

引用:

struct 怎么定义成员函数?
引用:
用struct就可以了

C++中的class和c中的struct的唯一区别是继承和默认的限制符不一样
class默认是private
struct是public
C中根本就没有访问限制符,你说的区别……

[解决办法]
struct在c++中是类的同义词谢谢
有本事你在纯c里面包含函数给我看看?
[解决办法]
第一题:
大数的四则运算及求模