Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Послание в main))
- #include <iostream>
- #include <stdio.h>
- #include <cctype>
- using std::cout;
- using std::endl;
- using std::ostream;
- class Alpha{
- private:
- unsigned bin;
- public:
- Alpha(){ bin = 0; }
- Alpha(char*);
- Alpha operator +(Alpha&);
- Alpha operator -(Alpha&);
- friend ostream& operator <<(ostream&, Alpha&);
- };
- Alpha::Alpha(char *s){
- bin = 0;
- while(*s)
- {
- bin |= 1 << (tolower(*s) - 'a');
- s++;
- }
- }
- Alpha Alpha::operator -(Alpha& y){
- Alpha z;
- z.bin = this->bin & (~y.bin);
- return(z);
- }
- Alpha Alpha::operator +(Alpha& y){
- Alpha z;
- z.bin = this->bin | y.bin;
- return(z);
- }
- ostream& operator <<(ostream& out, Alpha& obj){
- unsigned bit = 1;
- int i;
- for(i = 0; i < 26; i++){
- if((obj.bin & bit) > 0)
- out << (char)('a' + i);
- bit = bit << 1;
- }
- return(out);
- }
- int main(int argc, char *argv[]){
- if(argc < 3)
- return(puts("Usage: ./lab4 <string1> <string2>"));
- Alpha x(argv[1]);
- Alpha y(argv[2]);
- Alpha answer, z, n;
- z = x - y;
- n = y - x;
- answer = z + n;
- //Формула answer = (x - y) + (y - x) не будет работать, да и чует мое сердце, что
- //Будут меняться значения x и y
- cout << answer << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement