您的位置:首页 > 编程语言 > C语言/C++

C++测试代码(二)

2015-03-17 21:22 309 查看
#include <cstdlib>

#include <cstdio>

#include <cstring>

class B;

class A;

class A{

public:

static A* create(int i);

virtual A* print() {printf("A");return this;}//virtual不加和加上的区别

void finish() {delete(this);}

};

class B: A{

public:

static A* create(){

return new B();

}

A* print(){printf("B");return this;}

};

class C: A{

public:

static A* create(){

return new C();

}

A* print(){printf("C");return this;}

};

A* A::create(int i){

return (i == 0)? B::create() : C::create();

}

void print(const char *str){

int len = strlen(str);

char* upper = new char[len + 1];

strcpy(upper,str);

for(int i = 0;i < len;++i){

if('a' <= upper[i] && upper[i] <= 'z'){

upper[i] += 'A' -'a';

}

}

printf("%s\n",upper);

delete upper;

upper = NULL;

upper = new char [len + 1];

strcpy(upper,str);

printf("%s\n",upper);

delete upper;

upper = NULL;

}

void main()

{

A::create(0)->print()->finish();

A::create(1)->print()->finish();

char* ch = "abcdef";

print(ch);

system("pause");

return;

}

#include <stdlib.h>

#include <cstdio>

#include <cstdlib>

#include <iostream>

using namespace std;

class TheClass{

public:

TheClass(){

cout << "This is Class." << endl;

}

~TheClass(){

}

public:

int name;

};

int rational(int &i,int &j)

{

int mi = i,mj = j;

int mul = mi * mj;

return mul;

}

int main()

{

TheClass a[4],*p[5];//调用了构造函数一共4次。

int m = 4,n = 5;

int multion = rational(m,n);

printf("%d\n",multion);

system("pause");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: