Class vs. Instance

Sort by

recency

|

10 Discussions

|

  • + 0 comments

    class Person:

    def __init__(self,initialAge):
        if initialAge < 0:
            self.age = 0
            print("Age is not valid, setting age to 0.")
        else:
            self.age = initialAge
    def amIOld(self):
        if self.age < 13:
            print("You are young.")
        elif self.age >= 18:
            print("You are old.")
        else:
            print("You are a teenager.")
    def yearPasses(self):
        self.age = self.age+1
    
  • + 1 comment

    class Person:

    def __init__(self,initialAge):
        if initialAge < 0:
            self.age = 0
            print("Age is not valid, setting age to 0.")
        else:
            self.age = initialAge
    def amIOld(self):
        if self.age < 13:
            print("You are young.")
        elif self.age >= 18:
            print("You are old.")
        else:
            print("You are a teenager.")
    def yearPasses(self):
        self.age = self.age+1
    
  • + 0 comments

    Swift Code: -

    class Person { var age: Int = 0

    init(initialAge: Int) {
        // Add some more code to run some checks on initialAge
    
        if initialAge < 0 {
            self.age = 0
            print("Age is not valid, setting age to 0.")
        }else {
            self.age = initialAge
        }
    
    }
    
    func amIOld() {
        // Do some computations in here and print out the correct statement to the console
        if self.age < 13 {
            print("You are a teenager.")
        }else if self.age >= 13 && self.age < 18 {
            print("You are young.")
        }else if self.age >= 18 {
            print("You are old.")
        }
    }
    
    func yearPasses() {
        // Increment the age of the person in here
        age += 1
    }
    

    }

  • + 2 comments

    What is wrong with my code?

    //mrityunjay38@gmail.com
    
    #include<bits/stdc++.h>
    using namespace std;
    
    class Person{
    public:
        int age;
        
        //constructor
        Person(int initialAge){
            bool validAge = check(initialAge);
            validAge==true?age=initialAge:age=0,cout<<"Age is not valid, setting age to 0.\n";
        };
        
        //check age validity
        bool check(int age){
            
            if(age<0)
                return false;
            
            return true;
        }
        
        void amIOld(){
            if(age<13){
                cout<<"You are young.\n";
                return;
            }
            if(age>=13 and age<18){
                cout<<"You are a teenager.\n";
                return;
            }
            
            cout<<"You are old.\n";
        }
        
        void yearPasses(){
            age++;
        }
        
    };
    int main(){
         
        int t;
        int age;
        cin >> t;
        for(int i=0; i < t; i++) {
            cin >> age;
            Person p(age);
            p.amIOld();
            for(int j=0; j < 3; j++) {
                p.yearPasses();
            }
            p.amIOld();
            
            cout << '\n';
        }
        
        return 0;
    }
    

    Technically, it is giving the right answer but the expected output doesn't repeat this -> "Age is not valid, setting age to 0." Thought it should get printed on each test case run but in the questions the expected output skips this lines after 1st run. Why?

  • + 0 comments

    Python 3

    class Person:
        def __init__(self, initialAge):
            # Add some more code to run some checks on initialAge
            if initialAge < 0:
                self.age = 0
                print('Age is not valid, setting age to 0.')
            else:
                self.age = initialAge
                
        def amIOld(self):
            # Do some computations in here and print out the correct statement to the console
            if self.age < 13:
                print('You are young.')
            elif self.age < 18:
                print('You are a teenager.')
            else:
                print('You are old.')
            
        def yearPasses(self):
            # Increment the age of the person in here    
            self.age += 1