Why I cannot instantiate a class whose constructor is private in a friend class? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30 pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!Can an abstract class have a constructor?Why do this() and super() have to be the first statement in a constructor?Why can't I change a private member of a class from a friend class in a different namespace?Passing a class as argument which has a private constructor that takes no parametersPrivate data members are inaccessible to friend functionFriend function is not accessing private members of another friend classDeclaring constructors as private shows errors. Is at least one public constructor mandatory?Cannot access private member declared in class, even declared friend classPrivate Data member is inaccessible in Friend FunctionPassing an object into the constructor of another class

All ASCII characters with a given bit count

What does the black goddess statue do and what is it?

Feather, the Redeemed and Dire Fleet Daredevil

false 'Security alert' from Google - every login generates mails from 'no-reply@accounts.google.com'

Why is arima in R one time step off?

My admission is revoked after accepting the admission offer

Simulate round-robin tournament draw

Why does Java have support for time zone offsets with seconds precision?

How did Elite on the NES work?

When speaking, how do you change your mind mid-sentence?

Is it OK if I do not take the receipt in Germany?

Arriving in Atlanta (after US Preclearance in Dublin). Will I go through TSA security in Atlanta to transfer to a connecting flight?

Why do people think Winterfell crypts is the safest place for women, children & old people?

How was Lagrange appointed professor of mathematics so early?

Is it appropriate to mention a relatable company blog post when you're asked about the company?

Why isn't everyone flabbergasted about Bran's "gift"?

How to translate "red flag" into Spanish?

Does Prince Arnaud cause someone holding the Princess to lose?

Was there ever a LEGO store in Miami International Airport?

What is a 'Key' in computer science?

Variable does not exist: sObjectType (Task.sObjectType)

Will I be more secure with my own router behind my ISP's router?

How long can a nation maintain a technological edge over the rest of the world?

SQL Server placement of master database files vs resource database files



Why I cannot instantiate a class whose constructor is private in a friend class?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30 pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!Can an abstract class have a constructor?Why do this() and super() have to be the first statement in a constructor?Why can't I change a private member of a class from a friend class in a different namespace?Passing a class as argument which has a private constructor that takes no parametersPrivate data members are inaccessible to friend functionFriend function is not accessing private members of another friend classDeclaring constructors as private shows errors. Is at least one public constructor mandatory?Cannot access private member declared in class, even declared friend classPrivate Data member is inaccessible in Friend FunctionPassing an object into the constructor of another class



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








7















I have two classes; Salary that is intended to hold information and calculations regarding the salary of an employee and Employee that has an object of type class Salary and some members like name and address of the employee...




  • What I want to do is to prevent class Salary from being instantiated and only class Employee can instantiate it. So I declared the constructors of Salary private and made Employee friend of Salary. But I get errors:



    class Employee;

    class Salary
    public:

    private:
    Salary() : revenue_, cost_
    Salary(int x, int y) : revenue_ x ,
    cost_ y


    int revenue_, cost_;
    friend class Employee;
    ;

    class Employee
    public:
    std::string name_;
    Salary sal;
    ;

    int main()

    Employee emp; // "Salary::Salary()" is inaccessible




  • The problem raised for me if I forward declare main:



    int main(int, char*[]);


    And make main friend of class Salary so in Salary:



    class Salary 
    //...
    friend int main(int argc, char* argv[]);
    ;


Now the program compiles correctly!



*** Another thing in main if I declare an object this way:



Employee emp; // ok
Employee emp; // error?









share|improve this question
























  • Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

    – J. Antonio Perez
    39 mins ago

















7















I have two classes; Salary that is intended to hold information and calculations regarding the salary of an employee and Employee that has an object of type class Salary and some members like name and address of the employee...




  • What I want to do is to prevent class Salary from being instantiated and only class Employee can instantiate it. So I declared the constructors of Salary private and made Employee friend of Salary. But I get errors:



    class Employee;

    class Salary
    public:

    private:
    Salary() : revenue_, cost_
    Salary(int x, int y) : revenue_ x ,
    cost_ y


    int revenue_, cost_;
    friend class Employee;
    ;

    class Employee
    public:
    std::string name_;
    Salary sal;
    ;

    int main()

    Employee emp; // "Salary::Salary()" is inaccessible




  • The problem raised for me if I forward declare main:



    int main(int, char*[]);


    And make main friend of class Salary so in Salary:



    class Salary 
    //...
    friend int main(int argc, char* argv[]);
    ;


Now the program compiles correctly!



*** Another thing in main if I declare an object this way:



Employee emp; // ok
Employee emp; // error?









share|improve this question
























  • Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

    – J. Antonio Perez
    39 mins ago













7












7








7


6






I have two classes; Salary that is intended to hold information and calculations regarding the salary of an employee and Employee that has an object of type class Salary and some members like name and address of the employee...




  • What I want to do is to prevent class Salary from being instantiated and only class Employee can instantiate it. So I declared the constructors of Salary private and made Employee friend of Salary. But I get errors:



    class Employee;

    class Salary
    public:

    private:
    Salary() : revenue_, cost_
    Salary(int x, int y) : revenue_ x ,
    cost_ y


    int revenue_, cost_;
    friend class Employee;
    ;

    class Employee
    public:
    std::string name_;
    Salary sal;
    ;

    int main()

    Employee emp; // "Salary::Salary()" is inaccessible




  • The problem raised for me if I forward declare main:



    int main(int, char*[]);


    And make main friend of class Salary so in Salary:



    class Salary 
    //...
    friend int main(int argc, char* argv[]);
    ;


Now the program compiles correctly!



*** Another thing in main if I declare an object this way:



Employee emp; // ok
Employee emp; // error?









share|improve this question
















I have two classes; Salary that is intended to hold information and calculations regarding the salary of an employee and Employee that has an object of type class Salary and some members like name and address of the employee...




  • What I want to do is to prevent class Salary from being instantiated and only class Employee can instantiate it. So I declared the constructors of Salary private and made Employee friend of Salary. But I get errors:



    class Employee;

    class Salary
    public:

    private:
    Salary() : revenue_, cost_
    Salary(int x, int y) : revenue_ x ,
    cost_ y


    int revenue_, cost_;
    friend class Employee;
    ;

    class Employee
    public:
    std::string name_;
    Salary sal;
    ;

    int main()

    Employee emp; // "Salary::Salary()" is inaccessible




  • The problem raised for me if I forward declare main:



    int main(int, char*[]);


    And make main friend of class Salary so in Salary:



    class Salary 
    //...
    friend int main(int argc, char* argv[]);
    ;


Now the program compiles correctly!



*** Another thing in main if I declare an object this way:



Employee emp; // ok
Employee emp; // error?






c++ constructor friend-class






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 1 hour ago







Syfu_H

















asked 1 hour ago









Syfu_HSyfu_H

35518




35518












  • Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

    – J. Antonio Perez
    39 mins ago

















  • Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

    – J. Antonio Perez
    39 mins ago
















Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

– J. Antonio Perez
39 mins ago





Why are you making Salary's constructor private? It seems like there are contexts when you'd want to use Salary outside of Employee

– J. Antonio Perez
39 mins ago












4 Answers
4






active

oldest

votes


















7














Because you don't provide a constructor for Employee the braces in your initialization Employee emp; will perform an aggregate initialization, which essentially means that each member is initialized one-by-one using the default rules, in the context of main(). Since main() doesn't have access to the Salary constructor, it fails.



As others have pointed out, adding an Employee default constructor will resolve your problem:



class Employee 
public:
Employee() = default;
std::string name_;
Salary sal;
;





share|improve this answer




















  • 1





    I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

    – wally
    46 mins ago












  • GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

    – wally
    35 mins ago



















2














You have to explicitly declare the default constructor of class Employee thus you can initialize an abject via uniform initialization:



class Employee 
public:
Employee() // add it
std::string name_;
Salary sal;
;

int main()
Employee emp; // now this should compile







share|improve this answer






























    2














    You need Employee's ctor to call the ctor of Salary. The ctor of Salary is not accessible from main.



    eg:



    class Employee 
    public:
    Employee() : sal()
    public:
    std::string name_;
    Salary sal;
    ;





    share|improve this answer
































      0














      If you erase the "" after "Employee emp" in your main() function it compiles just fine (gcc 7.3.1 on Fedora 27).






      share|improve this answer


















      • 1





        I recommend explaining why.

        – user4581301
        1 hour ago











      • Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

        – Syfu_H
        1 hour ago











      • @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

        – user4581301
        1 hour ago











      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55819962%2fwhy-i-cannot-instantiate-a-class-whose-constructor-is-private-in-a-friend-class%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      4 Answers
      4






      active

      oldest

      votes








      4 Answers
      4






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      7














      Because you don't provide a constructor for Employee the braces in your initialization Employee emp; will perform an aggregate initialization, which essentially means that each member is initialized one-by-one using the default rules, in the context of main(). Since main() doesn't have access to the Salary constructor, it fails.



      As others have pointed out, adding an Employee default constructor will resolve your problem:



      class Employee 
      public:
      Employee() = default;
      std::string name_;
      Salary sal;
      ;





      share|improve this answer




















      • 1





        I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

        – wally
        46 mins ago












      • GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

        – wally
        35 mins ago
















      7














      Because you don't provide a constructor for Employee the braces in your initialization Employee emp; will perform an aggregate initialization, which essentially means that each member is initialized one-by-one using the default rules, in the context of main(). Since main() doesn't have access to the Salary constructor, it fails.



      As others have pointed out, adding an Employee default constructor will resolve your problem:



      class Employee 
      public:
      Employee() = default;
      std::string name_;
      Salary sal;
      ;





      share|improve this answer




















      • 1





        I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

        – wally
        46 mins ago












      • GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

        – wally
        35 mins ago














      7












      7








      7







      Because you don't provide a constructor for Employee the braces in your initialization Employee emp; will perform an aggregate initialization, which essentially means that each member is initialized one-by-one using the default rules, in the context of main(). Since main() doesn't have access to the Salary constructor, it fails.



      As others have pointed out, adding an Employee default constructor will resolve your problem:



      class Employee 
      public:
      Employee() = default;
      std::string name_;
      Salary sal;
      ;





      share|improve this answer















      Because you don't provide a constructor for Employee the braces in your initialization Employee emp; will perform an aggregate initialization, which essentially means that each member is initialized one-by-one using the default rules, in the context of main(). Since main() doesn't have access to the Salary constructor, it fails.



      As others have pointed out, adding an Employee default constructor will resolve your problem:



      class Employee 
      public:
      Employee() = default;
      std::string name_;
      Salary sal;
      ;






      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited 48 mins ago

























      answered 1 hour ago









      zdanzdan

      22.1k34864




      22.1k34864







      • 1





        I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

        – wally
        46 mins ago












      • GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

        – wally
        35 mins ago













      • 1





        I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

        – wally
        46 mins ago












      • GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

        – wally
        35 mins ago








      1




      1





      I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

      – wally
      46 mins ago






      I'm trying on MSVS and only Employee() ; allows Employee emp; to compile. Clang seems to accept Employee() = default;, but then again, Clang seems to accept having no default constructor here.

      – wally
      46 mins ago














      GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

      – wally
      35 mins ago






      GCC does the same as Clang, and doesn't need a default constructor to compile in this case. Have you tried this answer on any specific compiler?

      – wally
      35 mins ago














      2














      You have to explicitly declare the default constructor of class Employee thus you can initialize an abject via uniform initialization:



      class Employee 
      public:
      Employee() // add it
      std::string name_;
      Salary sal;
      ;

      int main()
      Employee emp; // now this should compile







      share|improve this answer



























        2














        You have to explicitly declare the default constructor of class Employee thus you can initialize an abject via uniform initialization:



        class Employee 
        public:
        Employee() // add it
        std::string name_;
        Salary sal;
        ;

        int main()
        Employee emp; // now this should compile







        share|improve this answer

























          2












          2








          2







          You have to explicitly declare the default constructor of class Employee thus you can initialize an abject via uniform initialization:



          class Employee 
          public:
          Employee() // add it
          std::string name_;
          Salary sal;
          ;

          int main()
          Employee emp; // now this should compile







          share|improve this answer













          You have to explicitly declare the default constructor of class Employee thus you can initialize an abject via uniform initialization:



          class Employee 
          public:
          Employee() // add it
          std::string name_;
          Salary sal;
          ;

          int main()
          Employee emp; // now this should compile








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 1 hour ago









          Raindrop7Raindrop7

          3,74531224




          3,74531224





















              2














              You need Employee's ctor to call the ctor of Salary. The ctor of Salary is not accessible from main.



              eg:



              class Employee 
              public:
              Employee() : sal()
              public:
              std::string name_;
              Salary sal;
              ;





              share|improve this answer





























                2














                You need Employee's ctor to call the ctor of Salary. The ctor of Salary is not accessible from main.



                eg:



                class Employee 
                public:
                Employee() : sal()
                public:
                std::string name_;
                Salary sal;
                ;





                share|improve this answer



























                  2












                  2








                  2







                  You need Employee's ctor to call the ctor of Salary. The ctor of Salary is not accessible from main.



                  eg:



                  class Employee 
                  public:
                  Employee() : sal()
                  public:
                  std::string name_;
                  Salary sal;
                  ;





                  share|improve this answer















                  You need Employee's ctor to call the ctor of Salary. The ctor of Salary is not accessible from main.



                  eg:



                  class Employee 
                  public:
                  Employee() : sal()
                  public:
                  std::string name_;
                  Salary sal;
                  ;






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 54 mins ago









                  Pavan Manjunath

                  20.1k1181108




                  20.1k1181108










                  answered 1 hour ago









                  schuessschuess

                  536416




                  536416





















                      0














                      If you erase the "" after "Employee emp" in your main() function it compiles just fine (gcc 7.3.1 on Fedora 27).






                      share|improve this answer


















                      • 1





                        I recommend explaining why.

                        – user4581301
                        1 hour ago











                      • Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                        – Syfu_H
                        1 hour ago











                      • @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                        – user4581301
                        1 hour ago















                      0














                      If you erase the "" after "Employee emp" in your main() function it compiles just fine (gcc 7.3.1 on Fedora 27).






                      share|improve this answer


















                      • 1





                        I recommend explaining why.

                        – user4581301
                        1 hour ago











                      • Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                        – Syfu_H
                        1 hour ago











                      • @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                        – user4581301
                        1 hour ago













                      0












                      0








                      0







                      If you erase the "" after "Employee emp" in your main() function it compiles just fine (gcc 7.3.1 on Fedora 27).






                      share|improve this answer













                      If you erase the "" after "Employee emp" in your main() function it compiles just fine (gcc 7.3.1 on Fedora 27).







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered 1 hour ago









                      Eric SokolowskyEric Sokolowsky

                      514




                      514







                      • 1





                        I recommend explaining why.

                        – user4581301
                        1 hour ago











                      • Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                        – Syfu_H
                        1 hour ago











                      • @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                        – user4581301
                        1 hour ago












                      • 1





                        I recommend explaining why.

                        – user4581301
                        1 hour ago











                      • Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                        – Syfu_H
                        1 hour ago











                      • @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                        – user4581301
                        1 hour ago







                      1




                      1





                      I recommend explaining why.

                      – user4581301
                      1 hour ago





                      I recommend explaining why.

                      – user4581301
                      1 hour ago













                      Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                      – Syfu_H
                      1 hour ago





                      Yes. Not onyl GCC but also MSVC14 also compiles Employee emp; but why?

                      – Syfu_H
                      1 hour ago













                      @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                      – user4581301
                      1 hour ago





                      @Syfu_H Value Initialization. And I could be mistaken here (been caught on this in the past), but the Value Initialization is being replaced by Aggregate Initialization

                      – user4581301
                      1 hour ago

















                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid …


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55819962%2fwhy-i-cannot-instantiate-a-class-whose-constructor-is-private-in-a-friend-class%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Which organization defines CJK Unified Ideographs? The Next CEO of Stack OverflowCharacters which have several different shapesHow useful are the kanji in reading Chinese?Can Chinese readers scan large amounts of text faster/more accurately than their alphabet-using counterparts?丼: why is “well” also “bowl of food”?What Does Unicode 8.0 Mean For Chinese?How are blanks indicated for placeholders in Chinese (like ???)Is there a dictionary of standard character variants?How to display CJK Extension F?How is it decided as to which character is used on the tech terminology?How does 子 come to mean 'midnight'?

                      Shenzhen Football Club Índice Elenco atual | Títulos | Referências Ligações externas | Menu de navegaçãoGooglenotíciaslivrosacadêmicoeditar«"Elenco"»Site oficialexpandindo-oeee

                      When We Were Young (canção de Adele) Índice Antecedentes e lançamento | Faixas e formatos | Performances e covers | Desempenho nas tabelas musicais | Créditos | Histórico de lançamento | Referências Menu de navegação«Best albums of 2015»«Adele - When We Were Young (Radio Date: 22-01-2016)»«When We Were Young - Single by Adele»«Adele: Inside Her Private Life and Triumphant Return»«adele interview: world exclusive first interview in three years»«Tobias Jesso Jr: since Adele tweeted his song, he's even bigger than his dad»«Adele interviews Tobias Jesso Jr: 'I think that a couple of the ideas we had could be rap songs'»«Adele on Her Return: 'I Was So Frightened That No One Cared'»«Tobias Jesso Jr. on working with Adele: 'I was as nervous as shit'»«How Ariel Rechtshaid Pushed Adele To Her Limit»«Adele Previews 'When We Were Young' on '60 Minutes' Teaser, Tops Trending 140»«Adele Performs New '25' Ballad, "When We Were Young" Live: Watch»«Which '25' Song Should Be Adele's Next Single?»«Adele's 'When We Were Young' Confirmed As Second Single From '25'»«Adele's new single artwork for 'When We Were Young' is perfectly adorable»«Adele at the BBC review: honest, funny and spectacular – Celebrity News News»«'Saturday Night Live': Adele Sings 'Hello' and 'When We Were Young'»«'Adele: Live in New York City' NBC Special – Set List Revealed!»«Adele Closes Out the 2016 Brit Awards With 'When We Were Young'»«What Is The Adele Live Tour Set List? There's No Way She'd Leave Out These 8 Songs»«See Demi Lovato's Soaring Cover of Adele's 'When We Were Young'»«'The Voice': 5 Best Moments From Week 1 Blind Auditions»«Adele – When We Were Young (Media Control Charts)»«Adele – When We Were Young (Entertainment Monitoring Africa)»«Adele – When We Were Young (ARIA Charts)»«Adele – When We Were Young (Ö3 Austria Top 40)»«Adele – When We Were Young (Ultratop 50)»«Adele – When We Were Young (Ultratop 40)»«Adele – When We Were Young (Canadian Hot 100)»«Adele – When We Were Young (Tracklisten)»«Adele – When We Were Young (The Official Charts Company)»«Adele – Hello (IFPI Slovenská Republika)»«Adele – When We Were Young (Productores de Música de España)»«Adele – When We Were Young (Billboard Hot 100)»«Adele – When We Were Young (Pop Songs)»«Adele – When We Were Young (Adult Pop Songs)»«Adele – When We Were Young (Hot Adult Contemporary Charts)»«Adele – When We Were Young (Hot Dance Club Songs)»«Adele – When We Were Young (Rock Airplay)»«Adele – When We Were Young (IFPI Finlândia)»«Adele – When We Were Young (Syndicat National de l'Éditon Phonographique)»«Adele – When We Were Young (Magyar Hanglemezkiadók Szövetsége)»«Adele – When We Were Young (Irish Recorded Music Association)»«Adele – When We Were Young (Mexico Airplay)»«Adele – When We Were Young (VG-lista)»«Adele – When We Were Young (NZ Top 40 Singles)»«Adele – When We Were Young (MegaCharts)»«Adele – When We Were Young (Związek Producentów Audio Video)»«Adele – When We Were Young (Portugal Digital Songs)»«Adele – When We Were Young (UK Indie Singles Chart)»«Adele – When We Were Young (UK Singles Chart)»«Adele – When We Were Young (Sverigetopplistan)»«Adele – When We Were Young (Schweizer Hitparade)»«Adele – When We Were Young (Portugal Digital Songs)»«Music Canada – Gold/Platinum – When We Were Young»«NZ Top 40 Singles Chart»«Certified Awards»e