Advertisement
Guest User

Untitled

a guest
Sep 9th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. class A {
  8.  
  9. private:
  10. char *str;
  11. short len;
  12.  
  13. public:
  14.  
  15. A(short m, string source);
  16. virtual char func(short i = 0);
  17. short getLen();
  18.  
  19.  
  20. friend ostream& operator<<(ostream &output, A);
  21.  
  22. protected:
  23. char get(short i);
  24. };
  25.  
  26. class B : public A {
  27. private:
  28. short p;
  29.  
  30.  
  31. public:
  32. B(short m, string source);
  33. char func(short i);
  34.  
  35. };
  36.  
  37. class C : public A {
  38. private:
  39. char x;
  40.  
  41. public:
  42. C(short n, string source, char y);
  43. char func(short i);
  44. string g(char c);
  45. };
  46.  
  47. int main() {
  48. srand(111222333);
  49. A *vett[50];
  50.  
  51. string S="supercalifragilistichespiralidoso";
  52.  
  53. for(int i=0; i<50; i++){
  54. short n=3+rand()%10;
  55. if(rand()%2==0)
  56. vett[i]= new B(n, S);
  57. else
  58. vett[i]= new C(n, S, (char) (rand()%('z'-'a'+1)+'a'));
  59. }
  60. ostream &operator<<(&C, B);
  61. cout << vett;
  62.  
  63.  
  64. }
  65.  
  66.  
  67. A::A(short q, string sorgente) {
  68. sorgente = str;
  69. q = len;
  70.  
  71.  
  72. }
  73.  
  74.  
  75.  
  76. char A::get(short i) {
  77. return str[i%len];
  78. }
  79.  
  80. short A::getLen() {
  81. int m;
  82. m = len;
  83. return m;
  84. }
  85.  
  86. B::B(short w, string sorgente) : A() {
  87. int numVocali=0;
  88. for (int i=0; i<sorgente.length(); i++) {
  89. if (sorgente[i] == 'a' || sorgente[i]=='e' || sorgente[i]=='i' || sorgente[i]=='o' || sorgente[i]=='u')
  90. numVocali++;
  91. }
  92. short p=1+numVocali;
  93. }
  94.  
  95.  
  96.  
  97. char B::func(short i) {
  98.  
  99. string sorgente;
  100. for (int j=i; j<sorgente.length(); j++) {
  101. if (sorgente[j]!='a' || sorgente[j]!='e' || sorgente[j]!='i' || sorgente[j]!='o' || sorgente[j]!='u')
  102. return sorgente[j];
  103. else
  104. return char ('X');
  105. }
  106. }
  107.  
  108. C::C(short n, string sorgente, char y) : A() {
  109.  
  110. }
  111.  
  112. char C::func(short i) {
  113. string sorgente;
  114. for (int k = i; k<sorgente.length(); k++) {
  115. if (sorgente[k]>x)
  116. return sorgente[i];
  117. else
  118. return x;
  119. }
  120. }
  121.  
  122. string C::g(char c) {
  123. string sorgente;
  124. string s2= x + sorgente + c;
  125. return s2;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement