Skip to content
Open

AP #8

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions 1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,33 @@
using namespace std;

class container {

protected:
int size;
public:
float* p;
container(){

}
container(int s) :size(s){}
const int& getsize() { return size;}
void set_size(int size){
this->size = size;
}

};

class vector :public container {

int call_num;
public:
explicit vector(int l) :len(l),size(1 * 100){
vector(){

}
explicit vector(int l) :len(l),container(1 * 100){
p = new float();
}
int len;
int& getlen() const {
int& getlen(){
call_num ++;
return len;
}
Expand All @@ -29,12 +38,13 @@ class vector :public container {
int main() {

container c1(100);
vector v1 = c1;
vector v1 = (vector)c1;
container& r1 = v1;
container c2 = 100;
c2.getsize() = 20;
c2.set_size(20);//set function
c2.getsize();
cout << c2.getsize();
vector v2 = 100;
v2.getlen = 40;
vector v2{100};
v2.getlen() = 40;
cout << v2.getlen();
}
8 changes: 4 additions & 4 deletions 2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ using namespace std;

// count all the specific char in the whole array of strings
int countAllSpecificChars(string sArr[], int arrLength, char specificChar) {
int count;
for (int i = 0; i <= arrLength; ++i)
for (int j = 0; j <= sArr[i].size(); ++j)
int count = 0;
for (int i = 0; i < arrLength; i++)//i++ i < arrLength
for (int j = 0; j < sArr[i].size(); j++)//j++ j < sArr[i].size()
// if the jth char of the string is the specific char
if (sArr[i][j] = specificChar)
if (sArr[i][j] == specificChar)//==
count++;
return count;
}
Expand Down
3 changes: 2 additions & 1 deletion 4.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ int main()
float *ptr2 = ptr1 + 3;
printf("%f", *ptr2 - *ptr1);
return 0;
}
}
//78.000 will print
4 changes: 3 additions & 1 deletion 5.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ int main()
printf("%d\n", (*ptr2 - *ptr1));
printf("%c", (char)(*ptr2 - *ptr1));
return 0;
}
}
//50 will print
//2 will print
1 change: 1 addition & 0 deletions 6.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ int main()
printf("%d\n", a);
return 0;
}
//513 will print
3 changes: 2 additions & 1 deletion 7.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ int main()
p += 2;
printf("%d", *p);
return 0;
}
}
//3 will print