How to Read Non-Verbal Cues (Part 2 of 2)

In part 1 of our 2-part series, we discussed some of the most common indicators that your job interview, meeting, or date is not going well.  Today we’ll take the opposite tact and discuss how you can tell when you’re making a great impression:

  • Leaning Forward.  When someone leans forward and squares his body to you, this is a sign that he feels comfortable in your presence and interested in what you are saying.

  • Mirroring.  Mirroring occurs when someone begins to mimic your body language.  For instance, perhaps you lean forward in the conversation and your interviewer does as well.  Or maybe you reach for a cup of coffee and your date does too.  Mirroring is an indicator that there is a shared connection between the two of you.

  • Laughing.  If someone laughs with you—rather than at you—consider it a good sign.  Research shows that humor indicates interest in either initiating a new relationship or continuing an existing one.

  • Nodding.  Nodding shows that someone is interested in what you are saying and typically, that they are in agreement with you.

  • Genuine Smiling.  How do you know if someone’s smile is a genuine one?  According to psychophysiologist Gary Schwartz, “Genuine delight is reflected more often as a sequence of short smile bursts, rather than a smile that arrives and stays put.  They involve not only changes around the mouth (the retraction of the mouth corners), but around the eyes as well (creases at the corners and skin bunching under the eyes).”

  • Light Touching.  A light touch on the arm or a pat on the shoulder—if done subtly and in a non-invasive way—is another indicator that someone likes you, Psychology Today reports.

By paying attention to simple nonverbal cues, you can easily determine how well your next meeting is going.  If you’re getting positive signals, great—keep up the good work!  On the other hand, if you’re getting negative ones, try changing the topic, asking a question, leaning forward, or gesturing—this combination of verbal and non-verbal tactics may help you get things back on track.   

Thought For The Day

“Nothing can be more certain than this: that we are just beginning to learn something of the wonders of the world on which we live and move and have our being.”
William Ramsay

 

 

Object-Oriented Programming: Inheritance

Today we are going to talk about one of the most important concepts in object-oriented programming - inheritance.  We mentioned inheritance in the first introductory article about OOP, but generally, this will be a new idea since it doesn't exist in C. (There are methods to simulate inheritance in C which can, to a certain degree, produce a similar effect, but formally, C does not implement inheritance.)

Let's start with Wikipedia's definition of inheritance:

"Inheritance is when an object or class is based on another object (prototypal inheritance) or class (class-based inheritance), using the same implementation (inheriting from an object or class) specifying implementation to maintain the same behavior (realizing an interface; inheriting behavior).
It is a mechanism for code reuse and to allow independent extensions of the original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a hierarchy."

 

Now, we are going to explain this definition, segment by segment, with an example.
Let's say we have a class named Cat, and in your program, you want to work with objects of that class.  We all know what some of the properties of cats are - they are animals, mammals, fast runners.  These properties would be modelled as attributes in our class.  Now let's create a class named Tiger.  As we know, tigers ARE cats.  Since we are not experts in evolution, we don't have to worry about the terminology too much, and we can freely say that the Tiger class will be based on the Cat class.

Obviously, tigers will have all the properties of our original Cat class.  They are also mammals and fast runners.  However, they will also have some specific, additional features which you don't see in your domestic cat - they are bigger, with slightly different bone structure and head shape, larger teeth, different coloration etc.  We want to model these characteristics in our Tiger class.  But, since we said that there are some characteristics that the tiger shares with the "regular" cat, it wouldn't be practical having to write that code in the Tiger class again.  With inheritance, you don't have to do that, and this is what the "It is a mechanism for code reuse and to allow independent extensions of the original software" part of the definition meant.  Now, the Cat and Tiger classes are part of a class hierarchy.

Before we give a code example of inheritance in C++, let's just say a few words about the terminology.

In OOP, the class from which you inherit is called the base class or the parent class.
The class which inherits the base class is called the derived class or the child class.
The idea of inheritance implements the "IS A" relationship (like we said, a tiger IS A cat).

 

Inheriting a class in C++ has the following syntax:

            class derived-class: access-specifier base-class
Here, access-specifier is either public, protected, or private, and base-class is the name of a previously defined class.  If the access-specifier is not used, then it is private by default.

Let's review the characteristics of each type of inheritance:
  • Public inheritance: public members of the base class become public members of the derived class and protected members of the base class become protected members of the derived class. A base class's private members are never accessible directly from a derived class.
  • Protected inheritance: public and protected members of the base class become protected members of the derived class.
  • Private inheritance: public and protected members of the base class become private members of the derived class.
Public inheritance is the most common form of inheritance in C++.

 

Now, we will give an example of inheritance in C++ (using a model simpler than the cats and tigers we've used for explaining before):

#include <iostream>
 
using namespace std;

/*parent class*/
class Shape 
{
protected:
    int area;
};

/*child class*/
class Rectangle: public Shape //public inheritance
{
private:
    int width;
    int height;
public:
    int getWidth()
    {
       return width;
    }
    void setWidth(int w)
    {
       width = w;
    }
    int getHeight()
    {
       return height;
    }
    void setHeight(int h)
    {
       height = h;
    }
    int getArea()
    { 
       area = width * height;  //we can access area from here since it's protected, and Rectangle is a child class of the Shape class
       return area;
    }
};

int main()
{
   Shape s;
   s.area = 5; //error! area is protected - it can only be accessed from within the class or the child classes
               //we also didn't write getter/setter methods for accessing area
   
   Rectangle rec;
 
   rec.setWidth(5);
   rec.setHeight(7);

   cout << "Total area: " << rec.getArea() << endl;
   return 0;
}
When the above code is compiled and executed, it produces the following result: Total area: 35.  Notice how there is no getArea() method in the Shape class.  This is because there are many different shapes, and we're not sure how to calculate the area if we don't know exactly what shape it is.  Please note that simply ommiting the method in the base class is not the proper OOP solution.  In our Shape class, the getArea() method would exist, but it would not be implemented.  This is called method overriding, and we will soon learn more about it.

 

How to Read Non-Verbal Cues (Part 1 of 2)

Whether you’re in a job interview, sales meeting, or just on a date, the ability to read non-verbal cues is a useful skill.  No longer will you worry if you’re making a good impression.  Instead, you’ll gain some insight into how well things are going, allowing you to quickly redirect the conversation if necessary.  In part 1 of our 2-part series, we’ve identified some of the most common negative body language postures you’ll see and what they mean:

  • Crossed Legs.  Authors of the book, How to Read a Person Like a Book, Gerard I. Nierenberg and Henry H. Calero, videotaped 2,000 negotiations and found that no settlement ever occurred when one of the negotiators had his legs crossed.  Crossed legs are a sign that someone is closed off to the information that you are imparting. 
  • Pursed Lips.  Pursed lips signify discomfort or that someone might be withholding information.  According to body language expert, Carol Goman, “Compressed or retracted lips most often occur when someone is forced to discuss something he doesn’t want to talk about—or when he is holding something back.”
  • Raised Eyebrows.  While raised eyebrows can signify surprise, they can also indicate disbelief, particularly if accompanied by a smirk.  However, don’t confuse a smirk with a genuine smile!  The latter one will cause some crinkling around the eyes.
  • Crossed Arms.  As with crossed legs, crossed arms signify resistance.  Yet before drawing this conclusion, remember that people will often cross their arms if they are cold or if their chair lacks an armrest.
  • Unblinking Eye Contact.  When people are telling the truth, it’s natural for them to break eye contact from time to time.  On the other hand, someone who is lying will often stare unblinkingly in an attempt to persuade and manipulate you.

As you can see, there are a number of nonverbal cues you can use to evaluate when things aren’t going well.  But how do you know when you’re hitting it out of the park?  In part 2 of our series, we’ll discuss some of the more positive body language indicators.

How to Ace Your Next Interview

A job interview can be stressful, but fortunately, there are ways to prepare for one that will make it much less anxiety-inducing.  Rather than sweating bullets before your next interview, we have some pointers to help you ace it:

  • Show Enthusiasm.  Employers don’t want to hire someone who is only looking to collect a paycheck.  Instead, they desire employees who are interested and engaged in the company and the work itself.  Display a positive and upbeat attitude about the company and the work responsibilities of the position that you’re interviewing for; this will go a long way toward making you a more memorable candidate.
  • Research the Company.  With all of the information available on the Internet, there’s no excuse for skipping this step.  Take time to familiarize yourself with the company’s mission, values, products, customers, etc.
  • Prepare Your Responses.  There are a number of common questions that job applicants come across in interviews:  “Tell me about yourself,” “What are your strengths?” “Where do you see yourself in 5 years?”  Have answers prepared that sell your skillset.  If you can, weave a real-life example into your response that the interviewer will be likely to remember i.e. “My greatest strength is my attention to detail.  Recently, I caught an accounting error that saved my employer $75K.” 
  • Fake It ‘Til You Make It.  Research shows that people prefer confidence, even more so than expertise.  So, how can you display confidence if you’re nervous about your interview?  Imagine that you’re the most confident person you know when you go into the interview.  For instance, you might want to channel your last boss or your most successful friend.  This is the “fake it ‘til you make it” strategy.  As you become accustomed to doing this, your interviewing skills will improve which will increase your self-confidence naturally.