#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;
}